php – 如何与Web XML / JSON API交互?
我正在学习php / xml / json以及其他所有内容,我正在通过API来处理某些事情.他们有文档,但我仍然没有得到API的工作方式.他们给你一个GET链接和API密钥,我知道你应该把API密钥放在请求链接中
我该如何称呼此链接?当它给你一个样本回复时它意味着什么? 如果您的请求正确,是否应该响应? 我有点clueluess? 谢谢
在
PHP中你可能有这样的东西:
// EDIT: only need to use urlencode() on user supplied variables //$url = urlencode("http://xyz.com/api?apikey=foo&v1=bar&v2=baz"); $url = "http://xyz.com/api?apikey=foo&v1=bar&v2=baz"; $response = file_get_contents($url); $response将包含一个字符串,其中包含访问$url时输出的任何xyz.com(如果您直接访问$url,则会出现这种情况). 您的下一个工作是根据其数据结构(例如XML,JSON等)解析$response,以便其余代码可以使用它. 有几个用于解析XML或JSON的PHP库.就个人而言,我更喜欢使用SimpleXMLElement和json_decode(),它包含在PHP 5> = 5.2.0中. 根据API,如果它不理解您在解析响应后可以检查的请求$url,它可能会向您发送某种错误代码/响应结构. 如果$response返回false,那么通常会有一些与$url通信的错误. 我发现考虑这些XHR请求的直观方法是将参数(GET参数)传递给函数(API URL). API URL的响应类似于函数的return语句. 更新: OP在评论中建议的Groupon的API示例: $apikey = "client_id=abcd1234567890"; $division = "division_id=chicago"; $url = "http://api.groupon.com/v2/deals?" . implode("&",array($apikey,$division)); $response = file_get_contents($url); $deals = json_decode($response,true); foreach($deals['deals'] as $deal){ $format = 'Deal: <a href="%s">%s</a><br/>'; echo sprintf( $format,$deal['dealURL'],$deal['announcementTitle']); } 上面的代码将打印出芝加哥地区所有交易标题和网址的列表.如果您查看Groupon API页面上的Sample JSON Response部分,它将为您提供将映射到关联数组$deals的整个数据结构. 如果用户提供API的任何GET参数(例如,从Web表单提供),您将需要执行类似$division =“division_id =”的操作.进行urlencode($USER_INPUT);. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |