Как правильно получить токен доступа к странице с помощью restfb?

Из моего приложения мне нужно публиковать изображения в фотоальбоме страницы Facebook.

Следуя документам resfb, я реализую поток OAuth. В частности, я создал URL-адрес для входа следующим образом:

FacebookClient client = new DefaultFacebookClient(Version.VERSION
AccessToken accessToken = client.obtainUserAccessToken(APP_ID, APP_SECRET, REDIRECT_URL, verificationCode); // verification code from the the previous login
12); String loginDialogUrlString = client.getLoginDialogUrl(APP_ID, REDIRECT_URL, scopeBuilder);

но теперь я не могу понять, как создать токен доступа к странице.

Я пробовал использовать это:

AccessToken accessToken = client.obtainUserAccessToken(APP_ID, APP_SECRET, REDIRECT_URL, verificationCode); // verification code from the the previous login

но когда я пытаюсь опубликовать содержимое на своей странице, используя этот токен доступа (ПОЛЬЗОВАТЕЛЬ), я получаю эту ошибку:

com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#210) A page access token is required to request this resource. (code 210, subcode null) 'null - null'

Итак, как правильно получить токен доступа к PAGE?

ПРИМЕЧАНИЕ Я использую этот код для публикации фотографии:

byte[] imageAsBytes = fetchBytesFromImage();
JsonObject obj = client.publish(
        "mypage",
        JsonObject.class,
        BinaryAttachment.with("cat.jpg", imageAsBytes, "image/jpeg"),
        Parameter.with("message", "A cat")
);

person davioooh    schedule 04.03.2020    source источник
comment
Если у него нет специального метода для получения токена доступа к странице, вы всегда можете сделать вызов API самостоятельно… developers.facebook.com/docs/facebook-login/access-tokens/   -  person CBroe    schedule 05.03.2020


Ответы (1)


С помощью FacebookClient, созданного с токеном доступа пользователя, вы можете вызвать:

Connection<Account> connection = client.fetchConnection("/me/accounts", Account.class);

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

person Norbert    schedule 10.03.2020
comment
Спасибо еще раз)! :) github.com/restfb/restfb/issues/1061 - person davioooh; 10.03.2020