Могу ли я получить доступ к ленте (собственным сообщениям) тестового пользователя? - PullRequest
1 голос
/ 05 января 2012

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

{"error":{"message":"(#100) Error finding the requested story","type":"OAuthException"}}

Я также попытался получить доступ к созданному сообщению следующими способами:

  1. Непосредственно по id, используя https://graph.facebook.com/<post id> url, с токенами доступа от обоих пользователей, моего приложения и моей личной учетной записи fb.
  2. Просмотр канала первого пользователя по https://graph.facebook.com/<user id>/posts URL-адресу, также со всеми возможными токенами доступа.

В каждом случае я получаю только «ложь» в ответ. Поэтому я предполагаю, что все сообщения от тестового пользователя не являются постоянными и недоступны. Я прав или, может быть, я делаю что-то не так? Можно ли тестировать сообщения и комментарии с тестовыми пользователями, а не с реальными аккаунтами?

Я дал не полное представление о том, как именно написан тест, но в этом случае взаимодействие API-интерфейса графа довольно сложное, и я не могу точно сказать, что здесь уместно. Не стесняйтесь просить больше информации в комментариях.

ОБНОВЛЕНИЕ подробное воспроизведение

Вот как я получаю токен доступа к приложению:

$ curl 'https://graph.facebook.com/oauth/access_token?client_id=<app_id>&client_secret=<app_secret>&grant_type=client_credentials'
access_token=<app_token>

И создать тестового пользователя:

$ curl 'https://graph.facebook.com/<app_id>/accounts/test-users?installed=true&permissions=publish_stream&method=post&access_token=<app_token>'
{"id":"100003312676861","access_token":"<user1_token>","login_url":"https:\/\/www.facebook.com\/platform\/test_account_login.php?user_id=100003312676861&n=mFdbI0ThjAcqEmR","email":"hrputis_fergiesen_1325848209\u0040tfbnw.net","password":"<user1_pass>"}

Тогда я пытаюсь создать сообщение, и это успешно:

curl 'https://graph.facebook.com/100003312676861/feed?message=hello&method=post&access_token=<user1_token>'
{"id":"100003312676861_107495629370859"}

Но когда я пытаюсь получить доступ к созданному сообщению, я не могу сделать это ни с помощью приложения, ни с токеном пользователя:

curl 'https://graph.facebook.com/100003312676861_107495629370859?access_token=<user1_token>'
false

curl 'https://graph.facebook.com/100003312676861_107495629370859?access_token=<app_token>'
false

И не отображается в ленте пользователя.

curl 'https://graph.facebook.com/100003312676861/feed?access_token=<user1_token>'
{"data":[]}

curl 'https://graph.facebook.com/100003312676861/feed?access_token=<app_token>'
{"data":[]}

UPDATE2 Доступ к токену:

Для токена приложения linter правильно распознает идентификатор и имя приложения.

Для токена пользователя linter укажите следующую информацию:

App ID: <correct app ID and name>
User ID: Unknown
Issued: 1326186000 : 1:00 am Jan 10 2012
Expires: 1326189600 : 2:00 am Jan 10 2012
Valid: True
Origin: Unknown
Scopes: create_note photo_upload publish_stream share_item status_update video_upload

1 Ответ

0 голосов
/ 05 января 2012

После входа в систему с тестовой учетной записью пользователя, я пошел в Graph API Explorer и взял для них токен доступа. Затем я проверил me/feed, и он был пуст. Как и ожидалось, потому что это новая тестовая учетная запись пользователя. Затем я сделал сообщение для меня / канала с помощью проводника, и график вернул идентификатор. Кто ху! Затем я вернулся к себе / каналу, и этот новый пост был указан в списке. Когда я взял этот токен доступа пользователя к линтеру, он показал, что токен предназначен для пользователя тестовой учетной записи, и были запрошены правильные разрешения. Можете ли вы проверить свои токены доступа пользователя, которые вы пробовали в линтере, чтобы убедиться, что access_token настроен правильно? Опубликуйте свои результаты здесь, пожалуйста:)

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