api接口的获取调用方式是什么?

2023-11-13

API接口的获取调用方式,通常分为以下几个步骤:

1.注册账号并申请API Key:在API服务提供商的官方网站上注册账号,并申请API Key(包括通行证ID和密钥),以便后面的API调用验证。

 2.查看API接口文档:根据API服务提供商的官方文档,查看API接口的说明、参数、返回数据格式等信息。

3.构造API请求:根据API接口文档提供的参数格式和请求方式,构造API请求,并传入所需的参数。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;

public class Example {
	private static String readAll(Reader rd) throws IOException {
		StringBuilder sb = new StringBuilder();
		int cp;
		while ((cp = rd.read()) != -1) {
			sb.append((char) cp);
		}
		return  sb.toString();
	}
	public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		PrintWriter out = new PrintWriter(conn.getOutputStream());
		out.print(body);
		out.flush();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static void main(String[] args) throws IOException, JSONException {
		// 请求示例 url 默认请求参数已经URL编码处理
		String url = "https://taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";
		JSONObject json = getRequestFromUrl(url);
		System.out.println(json.toString());
	}

}

4.发送API请求并接收响应:使用相关的编程语言和库(如Python中的requests库、Java中的HttpURLConnection类等),发送API请求,并接收API响应结果。

{
	"item": {
		"num_iid": "652874751412",
		"title": "北欧轻奢布艺沙发 小户型简约现代客厅ins风网红款三双人订制沙发",
		"desc_short": "",
		"price": "480.00",
		"total_price": 0,
		"suggestive_price": 0,
		"orginal_price": "480.00",
		"nick": "惜情yqq1127",
		"num": "200",
		"min_num": 0,
		"detail_url": "https://item.taobao.com/item.htm?id=652874751412",
		"pic_url": "//img.alicdn.com/imgextra/i4/2568161054/O1CN01aYBriY1Jem9UDtt9e_!!2568161054.jpg",
		"brand": "#0 工厂",
		"brandId": "1435187098",
		"rootCatId": "50008164",
		"cid": "50020632",
		"crumbs": [],
		"created_time": "",
		"modified_time": "",
		"delist_time": "",
		"desc": "",
		"desc_img": [],
		"item_imgs": [
			{
				"url": "//img.alicdn.com/imgextra/i4/2568161054/O1CN01aYBriY1Jem9UDtt9e_!!2568161054.jpg"
			},
			{
				"url": "//img.alicdn.com/imgextra/i3/2568161054/O1CN01kjOfNb1Jem9DmWn8Y_!!2568161054.jpg"
			},
			{
				"url": "//img.alicdn.com/imgextra/i1/2568161054/O1CN01HoB9ha1Jem9DmWn8r_!!2568161054.jpg"
			},
			{
				"url": "//img.alicdn.com/imgextra/i4/2568161054/O1CN011PjP2P1Jem9MXEUFT_!!2568161054.jpg"
			},
			{
				"url": "//img.alicdn.com/imgextra/i3/2568161054/O1CN01KUfBFL1Jem9KTTMn1_!!2568161054.jpg"
			}
		],
		"item_weight": "",
		"item_size": "",
		"location": "江苏南通",
		"post_fee": "",
		"express_fee": null,
		"ems_fee": "",
		"shipping_to": "",
		"has_discount": "false",
		"video": {
			"url": null
		},
		"is_virtual": "",
		"sample_id": "",
		"is_promotion": "false",
		"props_name": "31480:14306495906:几人坐:脚踏90*60*48cm;31480:14306495907:几人坐:双人165*95*67cm;31480:14306495908:几人坐:三人210*95*67cm;31480:14306495909:几人坐:单人100*95*67cm;31480:21480914361:几人坐:四人位240*95*67cm;31480:21480914362:几人坐:大四人320*95*76cm;31480:1387571900:几人坐:3米贵妃沙发;31480:32527954:几人坐:定制尺寸;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
		"prop_imgs": {
			"prop_img": [
				{
					"properties": "1627207:28321",
					"url": "//img.alicdn.com/imgextra/i1/2568161054/O1CN017GTZ4h1Jem9Qra1ap_!!2568161054.jpg"
				}
			]
		},
		"property_alias": "",
		"props": [
			{
				"name": "品牌",
				"value": "#0 工厂"
			},
			{
				"name": "型号",
				"value": "520"
			},
			{
				"name": "材质",
				"value": "木"
			},
			{
				"name": "木质材质",
				"value": "松木"
			},
			{
				"name": "面料",
				"value": "绒布"
			},
			{
				"name": "风格",
				"value": "北欧"
			},
			{
				"name": "几人坐",
				"value": "脚踏90*60*48cm,双人165*95*67cm,三人210*95*67cm,单人100*95*67cm,四人位240*95*67cm,大四人320*95*76cm,3米贵妃沙发,定制尺寸"
			},
			{
				"name": "颜色分类",
				"value": "乳白色"
			},
			{
				"name": "填充物",
				"value": "海绵"
			},
			{
				"name": "结构工艺",
				"value": "木质工艺"
			},
			{
				"name": "是否可定制",
				"value": "是"
			},
			{
				"name": "沙发组合形式",
				"value": "U形"
			},
			{
				"name": "是否可拆洗",
				"value": "是"
			},
			{
				"name": "适用对象",
				"value": "成年人"
			},
			{
				"name": "是否带储物空间",
				"value": "否"
			},
			{
				"name": "产地",
				"value": "上海"
			},
			{
				"name": "地市",
				"value": "上海市"
			},
			{
				"name": "区县",
				"value": "奉贤区"
			},
			{
				"name": "是否组装",
				"value": "否"
			},
			{
				"name": "出租车是否可运输",
				"value": "否"
			},
			{
				"name": "填充物硬度",
				"value": "软"
			},
			{
				"name": "款式定位",
				"value": "经济型"
			}
		],
		"total_sold": "604",
		"skus": {
			"sku": [
				{
					"price": "480",
					"total_price": 0,
					"orginal_price": "480",
					"properties": "31480:14306495906;1627207:28321",
					"properties_name": "31480:14306495906:几人坐:脚踏90*60*48cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "4881047531343"
				},
				{
					"price": "1688",
					"total_price": 0,
					"orginal_price": "1688",
					"properties": "31480:14306495907;1627207:28321",
					"properties_name": "31480:14306495907:几人坐:双人165*95*67cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "141",
					"sku_id": "4881047531344"
				},
				{
					"price": "2088",
					"total_price": 0,
					"orginal_price": "2088",
					"properties": "31480:14306495908;1627207:28321",
					"properties_name": "31480:14306495908:几人坐:三人210*95*67cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "4881047531345"
				},
				{
					"price": "968",
					"total_price": 0,
					"orginal_price": "968",
					"properties": "31480:14306495909;1627207:28321",
					"properties_name": "31480:14306495909:几人坐:单人100*95*67cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "4881047531346"
				},
				{
					"price": "2388",
					"total_price": 0,
					"orginal_price": "2388",
					"properties": "31480:21480914361;1627207:28321",
					"properties_name": "31480:21480914361:几人坐:四人位240*95*67cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "5039985183001"
				},
				{
					"price": "3188",
					"total_price": 0,
					"orginal_price": "3188",
					"properties": "31480:21480914362;1627207:28321",
					"properties_name": "31480:21480914362:几人坐:大四人320*95*76cm;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "5039985183002"
				},
				{
					"price": "3400",
					"total_price": 0,
					"orginal_price": "3400",
					"properties": "31480:1387571900;1627207:28321",
					"properties_name": "31480:1387571900:几人坐:3米贵妃沙发;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "5039984824000"
				},
				{
					"price": "3000",
					"total_price": 0,
					"orginal_price": "3000",
					"properties": "31480:32527954;1627207:28321",
					"properties_name": "31480:32527954:几人坐:定制尺寸;1627207:28321:颜色分类:乳白色 尺寸颜色可定制",
					"quantity": "200",
					"sku_id": "5039985183003"
				}
			]
		},
		"seller_id": "2568161054",
		"sales": 53,
		"shop_id": "567158267",
		"props_list": {
			"31480:14306495906": "几人坐:脚踏90*60*48cm",
			"31480:14306495907": "几人坐:双人165*95*67cm",
			"31480:14306495908": "几人坐:三人210*95*67cm",
			"31480:14306495909": "几人坐:单人100*95*67cm",
			"31480:21480914361": "几人坐:四人位240*95*67cm",
			"31480:21480914362": "几人坐:大四人320*95*76cm",
			"31480:1387571900": "几人坐:3米贵妃沙发",
			"31480:32527954": "几人坐:定制尺寸",
			"1627207:28321": "颜色分类:乳白色 尺寸颜色可定制"
		},
		"seller_info": {
			"nick": "惜情yqq1127",
			"item_score": "4.9 ",
			"score_p": "4.9 ",
			"delivery_score": "4.9 ",
			"shop_type": "C",
			"user_num_id": "2568161054",
			"sid": "567158267",
			"title": "现代布艺沙发",
			"zhuy": "https://shop567158267.taobao.com/",
			"shop_name": "现代布艺沙发"
		},
		"tmall": false,
		"error": "",
		"warning": "",
		"url_log": [],
		"fav_count": "7818",
		"fans_count": "663",
		"freight": "平邮: 快递包邮",
		"props_imgs": {
			"prop_img": [
				{
					"properties": "1627207:28321",
					"url": "//img.alicdn.com/imgextra/i1/2568161054/O1CN017GTZ4h1Jem9Qra1ap_!!2568161054.jpg"
				}
			]
		},
		"_ddf": "xdl",
		"promo_type": null,
		"props_img": {
			"1627207:28321": "//img.alicdn.com/imgextra/i1/2568161054/O1CN017GTZ4h1Jem9Qra1ap_!!2568161054.jpg"
		},
		"format_check": "ok",
		"shop_item": [],
		"relate_items": []
	},
	"error": "",
	"secache": "4ad7ad2480af253fec9c2fd4daa266bb",
	"secache_time": 1687330167,
	"secache_date": "2023-06-21 14:49:27",
	"translate_status": "",
	"translate_time": 0,
	"language": {
		"default_lang": "cn",
		"current_lang": "cn"
	},
	"reason": "",
	"error_code": "0000",
	"cache": 0,
	"api_info": "today:130 max:10100 all[221=130+6+85];expires:2030-12-31",
	"execution_time": "1.646",
	"server_time": "Beijing/2023-06-21 14:49:27",
	"client_ip": "115.153.49.96",
	"call_args": {
		"num_iid": "652874751412",
		"is_promotion": "1"
	},
	"api_type": "taobao",
	"translate_language": "zh-CN",
	"translate_engine": "baidu",
	"server_memory": "6.14MB",
	"request_id": "gw-1.64929d75a8ea6",
	"last_id": "1822571582"
}

5.解析API响应数据:根据API接口文档返回数据格式,对API响应进行解析,并将所需结果提取出来。

6.处理API响应结果:根据API响应结果进行相应的数据处理和操作,如数据展示、数据存储、数据分析等。

需要注意的是,不同的API服务提供商可能会有不同的API调用认证方式、请求方式、参数格式等。因此,在使用API接口之前,需要仔细阅读API文档并按照规范进行调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

api接口的获取调用方式是什么? 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • 在Windows上安装Java 11 OpenJDK(系统路径问题)

    Java 11 最近发布了 众所周知 这个版本没有安装文件 当然 要在没有安装程序的情况下安装 Java 我将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址 根据对类似问题的已接受回复建议 唯一的事
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • 在浏览器中点击应用程序时播放框架挂起

    我正在 Play 中运行一个应用程序activator run 也许 5 次中有 3 次 它会挂起 当我去http localhost 9000 它就永远坐在那里旋转 我看到很多promise timed out错误也 我应该去哪里寻找这个
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • java中删除字符串中的特殊字符?

    如何删除字符串中除 之外的特殊字符 现在我用 replaceAll w s 它删除了所有特殊字符 但我想保留 谁能告诉我我该怎么办 Use replaceAll w s 我所做的是将下划线和连字符添加到正则表达式中 我添加了一个 连字符之前
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

    我看到很多人在使用 Selenium WebDriver 的测试环境中上传文件时遇到问题 我使用 selenium WebDriver 和 java 也遇到了同样的问题 我终于找到了解决方案 所以我将其发布在这里希望对其他人有所帮助 当我需
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Keycloak - 自定义 SPI 未出现在列表中

    我为我的 keycloak 服务器制作了一个自定义 SPI 现在我必须在管理控制台上配置它 我将 SPI 添加为模块 并手动安装 因此我将其放在 module package name main 中 并包含 module xml 我还将其放
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • 龙芯+RT-Thread+LVGL实战笔记(1)——从移植开始

    过去的大半年时间 一直带着学生备战全国职业院校技能大赛 嵌入式系统应用开发 赛项 由于是首次参加该赛项 很多东西都是从0到1的摸索和积累 最后的成绩自然也不甚理想 作为指导教师 备赛期间除了给予学生必要的指导 自己也花了不少精力研究了大赛指
  • 9.7C++作业

    include
  • redis安装过程报错解决方案

    问题一 出现如下错误 cd src make all make 1 Entering directory xx xx redis x x x src CC adlist o bin sh cc command not found make
  • pycharm 安装 markdown 的三种方法! 绝对管用!!!

    Markdown是一种可以使用普通文本编辑器编写的标记语言 通过简单的标记语法 它可以使普通文本内容具有一定的格式 本人使用的是专业版pycharm 自己破解的 不知道正版的有没有安装不上markdown的情况 就个人所遇到的问题解决方案如
  • Spark读取ES报错EsHadoopInvalidRequest The number of slices [1632] is too large

    Spark读取ES报错EsHadoopInvalidRequest The number of slices 1632 is too large 1 背景 最近需要将ES指定索引中的数据使用Spark读取 进行简单处理后写入HBase 使用
  • avalon框架系列-指令(一)

    avalon的指令是一个非常重要的东西 它用来引入一些新的HTML语法 使元素拥有特定的行为 指令一共拥有3种形式 插值表达式 自定义标签 绑定属性 先说说两个比较少的形式 插值表达式和自定义标签 1 插值表达式 跟Vue框架的一样 都是一
  • MATLAB线性回归

    问题陈述 目标是通过使用线性回归技术进行统计推断预测 使用来自论文 1977 Narula and Wellington Prediction Linear Regression and the Minimum Sum of Relativ
  • 【深度学习】Inception的前世今生(四)--Inception V4,Inception-ResNet

    Inception的系列文章 1 Inception v1 Going deeper with convolutions https arxiv org abs 1409 4842 2 Inception v2 Batch Normaliz
  • 通过Docker创建CentOS容器

    前言 先安装Docker 使用文内的脚本可以快速创建CentOS 7 8虚拟系统集群 并通过SSH Secure Shell 远程工具连接 创建桥接网络 方便容器间通信 指令格式为docker network create lt 网络名称
  • 动态原型模式

    动态原型模式 通过开关 动态添加函数的方法
  • 史上最全!大数据开源框架技术扫盲

    一 目录 系统平台 Hadoop CDH HDP 监控管理 CM Hue Ambari Dr Elephant Ganglia Zabbix Eagle 文件系统 HDFS GPFS Ceph GlusterFS Swift BeeGFS
  • 图像构成与信号处理之二——信号滤波

    一 信号滤波与图像滤波 信号滤波和图像滤波都是信号处理的重要任务 它们在不同领域中有广泛的应用 一 信号滤波 信号滤波是对信号进行处理的过程 通过去除或抑制不需要的频率成分 以实现信号的平滑或去噪 信号滤波的目标是改变信号的频谱分布 以达到
  • WiFi-ESP8266入门开发(十三)-使用SPI

    注 对于ESP8266开源技术感兴趣的可以加群 我们一起探索交流学习 群号 579932824 群名 ESP8266开源技术交流群 介绍 串行外设接口 SPI 是摩托罗拉公司最初启动的总线接口连接协议 SPI接口使用四根线进行通信 因此也被
  • 【JS实用技巧篇】01-函数防抖

    JavaScript专栏 js实用技巧篇 该专栏博主会持续更新 目的是给大家分享一些非常实用的技巧 同时巩固自己的基础 共同进步 欢迎大家在评论区留言交流技术以及学习方法 心得方面的问题 你的一键三连是对我的最大支持 祝大家国庆快乐 文章目
  • 利用python进行数据分析之数据清洗与准备--小白笔记

    数据清洗和准备 处理缺失数据 import pandas as pd import numpy as np string data pd Series aardvark artichoke np nan avocado string dat
  • OpenStack部署之前需要安装哪些必备组件

    二 安全 下面的表格给出了需要密码的服务列表以及它们在指南中关联关系 密码 密码名称 描述 数据库密码 不能使用变量 数据库的root密码 ADMIN PASS admin 用户密码 CEILOMETER DBPASS Telemetry
  • three.js 创建文字的几种方法

    three js 创建文字的几种方法 1 DOM CSS 传统网页html实现 2 将文字绘制到画布中 并将其用作Texture 纹理 将文字保存为图片格式 再将其当作一张蒙皮材质 贴到某个物体上 3 在你所喜欢的3D软件里创建模型 并导出
  • 简单的数字水印加密技术

    最近我一个朋友问谍战情节里是怎样办到将数据隐藏到一般图片里的 正好有一段时间我也研究过这个问题 既然他问了干脆我就写出来和大家也一起分享一下吧 大都是自己琢磨的 如有更加专业的做法欢迎大家讨论啊 由于时间比较久远 当年研究的代码找了半天也没
  • [leetcode] 面试题 17.20. 连续中值

    有很多种形式可以实现中位数的求解 比如将所有的数放到一个数组中 然后sort一下获取中间的值 但这样在时间复杂度上不太优雅 为了能够更快的求解 可以使用对顶堆来求解 对顶堆通常用来实现动态k大 小 的问题 在这个题里 因为在往里面加数的过程
  • api接口的获取调用方式是什么?

    API接口的获取调用方式 通常分为以下几个步骤 1 注册账号并申请API Key 在API服务提供商的官方网站上注册账号 并申请API Key 包括通行证ID和密钥 以便后面的API调用验证 2 查看API接口文档 根据API服务提供商的官