2015-05-29 3 views
-1

Когда я ударять 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 в браузере я получаю ответ, как:Невозможно получить ответ JSON от Curl

{ "код": 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); 

Он ничего не возвращает. Я ударил этот URL-адрес в Postman тоже, там также он дает ответ JSON.

ответ

1

Вы должны включить client_id в параметры запроса ... в противном случае вы не аутентифицируете никого.

Когда вы зарегистрировали приложение с помощью instagram, вы должны были получить учетные данные, которые вы можете отправить в своих запросах, чтобы они могли проверить, что ваше приложение обращается к API. В противном случае любой человек с Интернетом мог бы подключиться к API и испортить все остальные данные.

Я рекомендую прочитать через this OAuth2 tutorial, чтобы лучше понять, что происходит.

+0

Да, это я понимаю. Но когда я передаю неверный идентификатор клиента (скажем любую строку), то также он дает ошибку в JSON. Я просто хочу сделать проверку работоспособности на этом URL-адресе, чтобы более удобное и отформатированное сообщение могло отображаться пользователю вместо простого JSON. То, что я сделал cURL, прежде чем позволить пользователю щелкнуть ссылку. – MindMingle

+0

Это стандартное сообщение об ошибке аутентификации OAuth. Вы увидите сообщение об ошибке все время, пока не сможете успешно пройти аутентификацию. Если вы добавляете недопустимый client_id, сообщение об ошибке должно быть другим (но вы все равно получите его). Я не уверен, что такое «проверка работоспособности» - точка скручивания этого URL-адреса заключается в получении маркера доступа для доступа к API. Если вы просто отправляете мусор в параметры запроса, он будет продолжать говорить вам, что вы не аутентифицируете ... – DIMMSum

+0

Для токена доступа да, мы скручиваем URL. Я думал, если можно поймать ответ JSON. Почему он не возвращается в локон? В то время как в случае токена доступа также возвращается ответ JSON, и мы можем получить его с помощью curl. Почему этот URL-адрес не возвращается таким же образом? Есть ли что-то, связанное с завитом, которое мне не хватает? – MindMingle