Поделитесь изображением с Faceboook - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно поделиться изображением на Facebook.Для этого я пытаюсь предложить вызов API здесь

FB.login(function(response) {
    if (response.authResponse) {
      FB.api(
          "/{page-id}/photos",
          "POST",
          {
              "url": "https:\/\/www.facebook.com\/images\/fb_icon_325x325.png",
              "published": "false"
          },
          function (response) {
            if (response && !response.error) {
              console.log(JSON.stringify(response))
              /* handle the result */
            }
            else
            {
              console.log("ERROR: " + JSON.stringify(response))
            }
          }
      );
    } else {
     console.log('User cancelled login or did not fully authorize.');
    }
  });

Но я получаю сообщение об ошибке (#803) Some of the aliases you requested do not exist: {page-id} Идентификатор страницы совпадает с идентификатором пользователя, возвращенным в authResponse?Потому что я также пытался жестко запрограммировать этот идентификатор, но получил устаревшее сообщение API.

Мне нужно разрешить пользователю обмениваться фотографиями непосредственно с его фидом.

Спасибо

1 Ответ

0 голосов
/ 10 апреля 2019

Идентификатор страницы и идентификатор пользователя не совпадают.Вы получаете ID пользователя после авторизации, вы получаете ID страницы, используя конечную точку /me/accounts с токеном пользователя.Вы также можете получить жетоны страниц с /me/accounts?fields=access_token.Вам нужно использовать токен страницы с разрешениями publish_pages и manage_pages для создания постов или фотографий на странице, которой вы управляете.

Как прокомментировал WizKid, вы также можете просто использовать /me/photos для загрузки фотографий.Просто используйте токен страницы.

Дополнительная информация: https://developers.facebook.com/docs/facebook-login/access-tokens/

...