2015-05-29 75 views
-1

JSON响应。当我打在浏览器的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我得到的回应是:无法从卷曲

{ “代码”:400, “ERROR_TYPE”: “OAuthException”, “ERROR_MESSAGE”:“您必须包含一个有效的client_id,RESPONSE_TYPE和REDIRECT_URI参数“}

但是当我做卷曲在这个网址:

$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

您必须在请求参数中包含client_id ...否则您不验证任何人。

当您使用instagram注册您的应用程序时,您应该已收到您可以发送您的请求的凭据,以便他们可以验证它是您的应用程序访问API。否则,任何具有互联网的ol用户都可能连接到该API并混淆其他人的数据。

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

+0

是的,我明白了。但是当我传递无效的客户端ID(比如说任何字符串)时,它也会在JSON中给出一个错误。我只想对该URL进行健康检查,以便向用户显示更适合并格式化的消息,而不是纯JSON。那是我做了一个cURL,然后让用户点击链接。 – MindMingle

+0

这是一个标准的OAuth身份验证错误消息。您会一直看到错误消息,直到您成功通过身份验证。如果你添加一个无效的client_id,那么错误信息应该是不同的(但你仍然会得到一个)。我不确定什么是“健康检查” - 卷曲该URL的关键是获取访问令牌来访问该API。如果你只是在查询参数中发送垃圾,那么它会一直告诉你,你不认证... – DIMMSum

+0

对于访问令牌,是的,我们确实卷曲的URL。我想如果有可能赶上那个JSON响应。为什么它不卷曲?在访问令牌的情况下,也会返回JSON响应,我们可以通过curl来实现。为什么这个网址没有以同样的方式返回?有什么与我失踪的卷曲有关? – MindMingle