Php 帮助将JSON用于API

Php 帮助将JSON用于API,php,json,api,Php,Json,Api,我真的不明白这个API应该如何工作,因为我以前从未使用过JSON 该文档没有给出任何示例,但它说,该API中的端点支持POST和GET操作,并返回JSON 我的问题是,我不确定如何实现这一点,假设我只想将所有数据拉到一个简单的页面中,例如: 城市:塞勒姆 邮政编码:97302 等等 我不太确定从哪里开始: 发布http://[your RepMan hostname]/api/v1/account/reputation/current.json 获取http://[your RepMan hos

我真的不明白这个API应该如何工作,因为我以前从未使用过JSON

该文档没有给出任何示例,但它说,该API中的端点支持POST和GET操作,并返回JSON

我的问题是,我不确定如何实现这一点,假设我只想将所有数据拉到一个简单的页面中,例如:

城市:塞勒姆

邮政编码:97302

等等

我不太确定从哪里开始:

发布http://[your RepMan hostname]/api/v1/account/reputation/current.json

获取http://[your RepMan hostname]/api/v1/account/reputation/current.json

以下是POST正文或GET查询字符串的参数列表。所有值都应该按照正常的POST正文或GET查询字符串进行正确编码

对于200响应,您将收到以下JSON内容:


URL描述实体:

RepMan主机名]/api/v1/account/reputation/current.json- 用户当前的声誉

使用HTTPGET可以检索有关实体的数据

使用HTTPPOST可以向api提交有关实体的数据(更新或创建新实体)

要做到这一点,只需使用curl,如许多其他地方所述,如:

首先要尝试的是在web浏览器中尝试一些请求。从那以后,你应该很清楚你需要做什么

从您的基本URL开始:

http://[your RepMan hostname]/api/v1/account/reputation/current.json
显然,您必须插入主机名来代替
[您的RepMan主机名]
。从这里,我们添加一个查询字符串。你以前见过这些。。。它们位于URL中问号
之后,包含
key1=value1&key2=value2
形式的键/值对。要插入的变量有4个:
pid
apiKey
srid
,以及
customerId
。如果不知道此web服务的功能,很难帮助您知道要插入哪些值,但下面是一个示例:

http://example.com/api/v1/account/reputation/current.json?pid=12345&apiKey=asdf&srid=34&customerid=98765
使用所需的参数手动为自己构建一个工作URL,然后在浏览器中尝试。一旦你做到了这一点,你会看到一些文本结构回来。这是与JavaScript解析器兼容的文本,但实际上与JavaScript是分开的

现在,如何在PHP中实现这一点?一个快速的方法是使用和

基本上,
file\u get\u contents()
将加载该URL处的数据,
json\u decode()
将获取对象的文本表示,并将其转换为真正的PHP对象。从那里,您可以执行
echo$responseObject->social->checkins
或类似操作


现在,您应该研究使用cURL而不是
file\u get\u contents()
。它将使您能够更好地控制请求,并使您能够更轻松地访问响应状态代码。当您希望稍后对该请求设置时间限制或需要处理失败时,这一点非常重要。另外,请确保使用或构建查询字符串。这样,例如空格将转换为其编码形式,例如
%20

这看起来像一个基于REST的web服务。 API说您可以使用两种HTTP方法:

  • 得到
  • 职位
GET请求位于URL中,例如,可以从web浏览器调用该URL,如下所示:

http://host//api/v1/account/reputation/current.json?pid={some partner ID}&nextkey={next value}...
问号(?)表示参数列表开始。符号(&)分隔参数。参数的格式为key=value

POST请求使用相同的URL,但不是捆绑内容的参数:

http://host//api/v1/account/reputation/current.json
然后将HTTP头“
content-type
”设置为“
application/json
”。 然后将HTTP头“
accept
”设置为“
application/json

然后,使用一些软件(Apache HTTP客户端等),构建并发布JSON格式的消息,如下所示:

{
  pid: "my partner ID"
  ...
}
参考资料:


你是用什么语言来做这个请求的?你可能是在做上帝的工作,谢谢!这正是我所需要的:)如果您喜欢将数据作为关联数组使用,只需更改
json_decode($response)
to
json\u解码($response,true)
http://host//api/v1/account/reputation/current.json?pid={some partner ID}&nextkey={next value}...
http://host//api/v1/account/reputation/current.json
{
  pid: "my partner ID"
  ...
}