#php #facebook #facebook-graph-api #permissions
#php #Facebook #facebook-graph-api #разрешения
Вопрос:
Согласно документации Facebook, если у нас есть publish_stream
разрешение, мы должны иметь возможность публиковать контент, не требуя offline_access
разрешения. Относится ли это к размещению фотографий в библиотеке фотографий пользователя?
В нашем приложении Canvas мы храним токен oauth пользователя и можем без проблем размещать сообщения на стене пользователя. Однако, когда мы пытаемся опубликовать фотографии этому пользователю (используя POST
/user id/photos
кому), это обычно работает. Когда это не удается, мы получаем:
{"error":
{"message":"A user access token is required to request this resource.",
"type":"OAuthException"
}
}
TLDR: Мы ошибаемся, думая, что publish_stream распространяется на публикацию в библиотеке фотографий пользователя в автономном режиме, несмотря на документацию Facebook?
Комментарии:
1. Вы делаете сообщение с помощью access_token / user_id / photos? access_token=alsdkja; ldfjlksdjfaksdjflksfjlkdj
2. Да. $ facebook-> api(‘/’ . $row[«fb_user_id»] . ‘/ photos? access_token=’ . $row[«oauth_access_token»], ‘POST’, array( … ) ); // $row из нашей базы данных.
3. как вы генерируете токен доступа перед добавлением в базу данных. вы можете отлаживать их в отладчике токенов! developers.facebook.com/tools/debug просто вставьте токен, должны появиться какие-либо ошибки, если таковые имеются.
4. Спасибо за ответы! К сожалению, в примере с записью в блоге используются токены, доступные при взаимодействии пользователя с приложением, что не работает, если пользователь выходит из системы или проходит 1-2 часа. В основном они создают изображение с помощью нашего приложения, которое попадает в очередь на модерацию. Если пользователь выходит из Facebook или между созданием изображения и одобрением изображения прошло 1-2 часа, токен больше не используется для публикации изображения в библиотеке пользователя.
5. К такому выводу мы в конечном итоге пришли, к сожалению, этот вывод был сделан ценой большого количества потерянного времени. Хотелось бы, чтобы Facebook немного прояснил, что означает «контент», когда они говорят, что вам не нужен offline_access для его публикации.