Facebook Graph API возвращает false для учетных записей страниц - PullRequest
5 голосов
/ 23 февраля 2011

Я пытаюсь использовать Facebook Connect для моего сайта. Все хорошо, когда я пытаюсь войти в систему как обычный пользователь, вся правильная информация возвращается. Однако, когда я вхожу в систему под учетной записью «PAGE», все становится странным После успешного входа, если я использую следующее: https://graph.facebook.com/me/?access_token={access token}, я получаю «ложь» обратно. Если я вместо этого заменю «меня» идентификатором учетной записи на странице, тогда вернусь верная информация.

Другая проблема заключается в том, что после входа в файл cookie сеанса fbs_appID устанавливается неправильный «uid» после успешного входа в качестве учетной записи «PAGE». Все нормально с обычной учетной записью пользователя.

Все настройки на моей странице "13+", и никаких ограничений по стране нет.

Может кто-нибудь помочь, пожалуйста?

Ответы [ 4 ]

1 голос
/ 10 мая 2012

Я удалил ограничение страны "по умолчанию" из настроек страницы, и данные стали нормальными с помощью Graph API.Было бы хорошо узнать, почему это влияет на запросы API.

1 голос
/ 06 июля 2011

У нас такое же поведение.

Если вы вошли в систему, когда вошли в систему как страница Facebook, Facebook обычно отображает диалоговое окно, в котором говорится что-то вроде «Вы не можете войти в систему как страница Facebook. Переключиться на пользователя xxx».

Таким образом, вы всегда должны иметь постоянного пользователя в своем коде подключения FB.

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

Так что я думаю, что вы ничего не можете сделать, просто предупредите пользователя, что он должен войти в систему как обычный пользователь профиля Facebook.

Это полная информация о трафике, которую мы получаем: (с анонимными кодами):

GET /oauth/access_token?client_id=xxxxx&redirect_uri=xxxxx&client_secret=xxxx&code=xxx HTTP/1.1
Connection: close
Host: graph.facebook.com


HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate
Content-Type: text/plain; charset=UTF-8
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Pragma: no-cache
X-FB-Rev: 401390
X-FB-Server: 10.42.17.21
Connection: close
Date: Wed, 06 Jul 2011 10:38:11 GMT
Content-Length: 122

access_token=xxxx&expires=4909



GET /me?access_token=xxxx HTTP/1.1
Connection: close
Host: graph.facebook.com

HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate
Content-Type: text/javascript; charset=UTF-8
ETag: \"7cb6efb98ba5972a9b5090dc2e517fe14d12cb04\"
Expires: Sat, 01 Jan 2000 00:00:00 GMT
P3P: CP=\"Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p\"
Pragma: no-cache
X-FB-Rev: 401390
Set-Cookie: datr=aTsUTlxHtaaaK67aCdYmQbCO; expires=Fri, 05-Jul-2013 10:39:37 GMT; path=/; domain=.facebook.com; httponly
X-FB-Server: 10.32.3.116
Connection: close
Date: Wed, 06 Jul 2011 10:39:37 GMT
Content-Length: 5

false
0 голосов
/ 27 сентября 2011

Снимите ограничения по возрасту и / или стране в настройках страницы.

0 голосов
/ 10 марта 2011

Я думаю, что-то не так с вашей регистрационной частью.

Если вы используете Javascript SDK:

Попробуйте это console.dir(FB.getSession());

Если вы используете PHP SDK:затем попробуйте:

$session = $facebook->getSession();
print_r($session);

и проверьте в консоли, получаете ли вы правильный сеанс или нет.

http://graph.facebook.com/me всегда доступен до тех пор, пока вы не вошли в систему.даже требуют каких-либо дополнительных разрешений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...