2014-11-11 7 views
2

Фон:
Я сотрудник общественного деятеля, который постоянно получает олицетворения мошенничества в facebook. Я собираюсь автоматизировать процесс проверки facebook для новых атак каждый день, каждый день просматривая фейсбук, и сообщаю о новых пользователях и страницах для его имени. Я изменяю старое приложение FB, которое я создал несколько лет назад, чтобы запустить этот процесс.Facebook Graph search API

Проблема:
я заметил, что я могу найти «страницу» на графике API facebook с моим приложением, но «пользователь» возвращается с: "Фатальная ошибка: неперехваченным OAuthException: Маркер доступа пользователь должен запросить этот ресурс «Я предполагаю, что это ошибка разрешений, поэтому я пытаюсь добавить Access_Token = со всеми разрешениями (https://developers.facebook.com/tools/explorer) на URL без везения.

Вот мой PHP скрипт:

require '../src/facebook.php';<BR> 

$facebook = new Facebook(array(
'appId' => '**I_removed_this_code**', 
'secret' => '**I_removed_this_code**')); 

$access_token = $facebook->getAccessToken(); 

$user = $facebook->getUser(); 
if ($user) { 
    try { 
    $user_profile = $facebook->api('/me');<BR> 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

$fb_response = $facebook->api('/search?q=**Public_Figure_Name**&type=page'); //<--change this to user and it doesnt work 
print_r(array_values($fb_response)); 

ответ

2

Основной проблемой является то, что только пользователи приложение имеет доступ к являются либо пользователями приложения или (учитывая соответствующие права друг) друзей пользователей приложения.

Однако, если бы вы действовали как вы, используя токен SSO, у вас был бы токен пользователя и он мог бы выполнять поиск по графику.

PS. Я бы добавил это как комментарий, но мой представитель не достаточно высок.

+0

это хорошая информация. Благодарю. Если вы можете дать мне немного больше информации о коде «вы», и я получу его работу, я дам вам кредит – codeaf

+0

. Вот ссылка на [Пользовательские токены] Facebook (https://developers.facebook.com/docs/facebook-login/access-tokens # usertokens). Это было какое-то время, поэтому у меня нет такого кода, но есть много учебников о том, как их приобрести. Для вашего случая я бы построил легкое диалоговое окно входа в систему с помощью поискового запроса/кнопки вместо использования долгоживущего токена. Редактирование: я не понимал, как трудно было читать эту ссылку, весь URL-адрес: https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens –

+0

Спасибо за ваш ответ. Я знаком с тем, как получить токен, но используя его в коде, я не знаю. Я пытаюсь добавить & Access_Token = со всеми разрешениями (developers.facebook.com/tools/explorer) на URL без везения. Я предполагаю, что это должно быть неверно. Редактирование: В идеале, я не хочу повторять аутентификацию этого автоматизированного процесса каждый раз, когда он запускается – codeaf

0

Если я попробовать следующее в Graph Explorer, он работает без проблем:

/search?q=Tom%20Cruise&type=user 

https://developers.facebook.com/tools/explorer?method=GET&path=search%3Fq%3DTom%2520Cruise%26type%3Duser&version=v2.2

The Search API документирован в https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#search, которая описывает именно ваше поведение (различие между страницей и поиском пользователя).