我正在学习PHP / xml / json以及其他所有内容,我正在通过API来处理某些事情.他们有文档,但我仍然没有得到API的工作方式.他们给你一个GET链接和API密钥,我知道你应该把API密钥放在请求链接中
如果您的请求正确,是否应该响应?
我有点clueluess?
谢谢
在
PHP中你可能有这样的东西:
原文链接:https://www.f2er.com/php/134500.html// 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语句.
更新:
$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);.