2016-11-17 2 views
2

Я создаю сайт, и все, что мне нужно, это список подписчиков из одной учетной записи Instagram. Я прошел через шаги для аутентификации своего веб-приложения с помощью auth 2.0. Я просто понял, что с этой аутентификацией я могу получить доступ только к подписчикам учетной записи, к которой принадлежит каждый токен доступа.Как я могу получить список подписчиков из одной учетной записи instagram?

Есть ли другой способ доступа к подписчикам из моей учетной записи?

https://api.instagram.com/v1/users/4082347837/followed-by?access_token=AccessToken

Вывод запроса API: -

{ ["meta"]=> object(stdClass)#2 (3) { ["error_type"]=> string(18) "APINotAllowedError" ["code"]=> int(400) ["error_message"]=> string(29) "you cannot view this resource" } } 
+0

Вам не нужно проходить аутентификацию (то есть нужно «access_token»), чтобы получить список последователей пользователей. Вам просто нужен ваш 'client_id'. Следующий запрос должен работать в вашем случае: ** 'https: //api.instagram.com/v1/users/ {user-id}/следует /? Client_id = {client_id}' ** –

+0

Я пробовал это, и я получаю эта ошибка - { «meta»: { «error_type»: «OAuthParameterException», «код»: 400, «error_message»: «Отсутствует параметр client_id или access_token URL». } } –

ответ

-1

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

Но есть более простое решение. Вы можете получить общественную информацию от веб-версии (API заменяется без) только с одним вызовом:

$otherPage = 'nasa'; 
$response = file_get_contents("https://www.instagram.com/$otherPage/?__a=1"); 
if ($response !== false) { 
    $data = json_decode($response, true); 
    if ($data !== null) { 
     $follows = $data['user']['follows']['count']; 
     $followedBy = $data['user']['followed_by']['count']; 
     echo $follows . ' and ' . $followedBy; 
    } 
} 

Update. Извините, я неправильно понял ваш вопрос. Получить список можно без API. Вам нужно CSRF токен и идентификатор пользователя в куки, а затем вызвать запрос:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/query/"); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

//You need the csrftoken, ds_user_id 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: ...")); 

curl_setopt($ch, CURLOPT_POST, 1); 
$userId = 528817151; 
curl_setopt($ch, CURLOPT_POSTFIELDS, 
      "q=ig_user($userId) { 
    followed_by.first(10) { 
    count, 
    page_info { 
     end_cursor, 
     has_next_page 
    }, 
    nodes { 
     id, 
     is_verified, 
     followed_by_viewer, 
     requested_by_viewer, 
     full_name, 
     profile_pic_url, 
     username 
    } 
    } 
}"); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$server_output = curl_exec ($ch); 
curl_close ($ch); 
var_dump($server_output); 

Вы можете получить правильные куки делают логин действия на Instagram сети.

+0

это только содержит количество, а не список пользователей – Gordon

+1

@ Gordon Я обновил свой ответ – rNix

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