无法从cURL获取JSON响应

时间:2015-05-29 09:13:00

标签: php json curl oauth-2.0 instagram-api

当我在浏览器中点击网址https://api.instagram.com/oauth/authorize/?client_id=&redirect_uri=http://localhost/Instagram_flow/result.php&response_type=code&scope=basic+comments+relationships+likes时,我得到的答案为:

{“code”:400,“error_type”:“OAuthException”,“error_message”:“您必须包含有效的client_id,response_type和redirect_uri参数”}

但是当我在这个网址上做一个cURL时:

 $curl=curl_init();
 curl_setopt($curl, CURLOPT_URL, 'https://api.instagram.com/oauth/authorize/?client_id=&redirect_uri=http://localhost/Instagram_flow/result.php&response_type=code&scope=basic+comments+relationships+likes');
 curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 $data = curl_exec($curl);
 echo $data;
 curl_close($curl); 

它什么都不返回。我也在Postman中点击了这个URL,它也提供了JSON响应。

1 个答案:

答案 0 :(得分:1)

您必须在请求参数中包含client_id ...否则您不会对任何人进行身份验证。

当您使用instagram注册应用程序时,您应该已收到可以在请求中发送的凭据,以便他们可以验证您的应用程序是否正在访问API。否则,任何拥有互联网的人都可以连接到API,并弄乱其他人的数据。

我建议您通过this OAuth2 tutorial阅读,以便更好地了解正在发生的事情。