2016-11-17 2 views
0

Я пытаюсь PHP API Instagram получать фотографии друзей. Я зарегистрировался как пользователь песочницы, а также фиктивный пользователь с несколькими размещенными случайными изображениями. Затем я пригласил фиктивного пользователя предоставить приложение в песочнице для подключения его учетной записи.Невозможно получить изображения из Instagram с помощью предоставленного PHP API

Чтобы получить маркер доступа я отправить запрос, чтобы получить код, а затем получить маркер доступа с размаху:

https://api.instagram.com/oauth/access_token?client_id=CLIENT_ID&client_secret=SECRET_STRING&grant_type=authorization_code&redirect_uri=http://localhost/&code=CODE&scope=basic+public_content+comments+likes` 

PHP код:

$url = 'https://api.instagram.com/oauth/access_token'; 
    $payload = [ 
      $GLOBALS['KEY_CID'] => $GLOBALS['VAL_CID'], 
      $GLOBALS['KEY_CECRET'] => $GLOBALS['VAL_CECRET'], 
      'grant_type' => 'authorization_code', 
      'redirect_uri' => 'http://localhost/', 
      'code' => $param_code, 
      'scope' => 'basic+public_content+comments+likes']; 

$ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); // url 
     curl_setopt($ch, CURLOPT_POST, true); // POST 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); // POST DATA 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // RETURN RESULT true 
     curl_setopt($ch, CURLOPT_HEADER, 0); // RETURN HEADER false 
     curl_setopt($ch, CURLOPT_NOBODY, 0); // NO RETURN BODY false/we need the body to return 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // VERIFY SSL HOST false 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // VERIFY SSL PEER false 
$response = json_decode(curl_exec($ch), true); 
curl_close($ch); 

После того как я получил маркер доступа успешно.

Я пытаюсь получить изображения от пользователя песочницы, который фиктивный счета я создал для тестирования:

https://api.instagram.com/v1/users/fane.leee/media/recent?access_token=ACCESS_TOKEN 

кода PHP для получения изображения:

$url = 'https://api.instagram.com/v1/users/fane.leee/media/recent?access_token='.$ACCESS_TOKEN; 
    $ch = curl_init(); // initializing 
    curl_setopt($ch, CURLOPT_URL, $url); // API URL to connect 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the result, do not print 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
    $response = json_decode(curl_exec($ch), true); // connect and get json data 
    curl_close($ch); 

Проблема
$ ответа запроса на получение изображения NULL без сообщения об ошибке. У кого-нибудь есть идеи о проблеме?

Спасибо.


Ссылка

  1. документ развития Instagram authentication и authorization.

  2. Instagram разработка документ о user endpoints

  3. Другое StackOverflow post О Instagram API веб


Среда разработки: Ubuntu 16,04
Apache2
PHP 7.0.8
MySQL 14,14


Редактировать 1: Добавить код PHP, вызывающий функции cUrl.
Редактировать 2: Если я заменил идентификатор пользователя 'fane.leee', используя 'self', я могу получить изображения, которые я разместил. Я также следовал за пользователем «fane.leee». Все, что я должен сделать, чтобы загрузить медиа друзей?

+0

сообщение какой-то код, пожалуйста. –

+0

Спасибо за ваши комментарии, код добавлен :) – r0ng

+1

Добавили ли вы каких-либо песочниц? – Viney

ответ

0

fane.leee - это имя пользователя. Instagram требует идентификатора пользователя в вызывающем API-интерфейсе.

Чтобы получить идентификатор пользователя путем вызова функции Instagram API, мы могли бы использовать
https://www.instagram.com/{username}/?__a=1

Другой способ получить идентификатор пользователя является использование 3-й сайт партии. Он может извлекать идентификатор пользователя Instagram из имени пользователя.Это here


Ссылка:
Ответ от Thinh Vu в this thread - Not the accepted answer, but the answer underneath. P.S the accepted answer is not working anymore.

Смежные вопросы