Прежде всего, я знаю, что есть много вопросов и ответов по одной и той же теме, но ни один из них мне не подходит... Возможно, это связано с тем, что многие из них относятся к 2011 или 2012 году, а FB API мог измениться. и методы могут быть устаревшими... Позвольте мне кратко резюмировать мою проблему:
Что я хочу сделать?
Загрузите фотографию PNG или JPEG, хранящуюся на сервере, на стену пользователя.
Как я хочу это сделать?
Используя Javascript API Facebook, предположительно, вызвав «FB.api ()». Я немного имел дело с "FB.ui()" и мне удалось успешно загрузить некоторые вещи, но я не знаю, можно ли загрузить простую фотографию на стену пользователя с помощью "ui() метод (надеюсь!).
Что я сейчас делаю?
Вот код, который я запускаю сейчас:
CocoonJS.Social.Facebook.api('/me/photos', 'post',
{
message:'Luke: I am your Guinness',
access_token: game.data.access_token,
url:'https://www.theagencyonline.co.uk/wp-content/uploads/2013/09/Darth-Vader-Guinness.gif'
}, function(response){
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});
Что я получаю?
Странно, после вызова этой функции выскакивает оповещение с "Идентификатором сообщения" с большим числом (я думаю, фактический идентификатор сообщения). Однако в стене ничего не публикуется. Я использую свою учетную запись, чтобы протестировать ее, и я не могу увидеть опубликованную запись.
Беспорядок, который может быть связан с проблемой (или не связан с ней):
О пользовательском «токене доступа» ходят легенды: кто-то считает его ключевым параметром, кто-то его даже не использует.
Некоторые считают, что загрузить фото можно не через «/me/photos», а через «/{user_id}/photos».
Мое приложение FB все еще находится в режиме песочницы (не опубликовано).
И, наконец, простой вопрос, который мог бы решить все это... Я мог публиковать вещи через "FB.ui()" вместо "FB.api()", но я не могу найти способ публиковать фотографии через "ui()": знаете ли вы, возможно ли это? Если да, то как это можно сделать?
Заранее спасибо за ваше время и усилия! :)
privacy
? 22.05.2014privacy
... Я вызвалFB.api(response.id, 'get', function(response2){ alert('Post: '+response2.id+", "+response2.privacy); } });
с возвращеннымpost_id
(то естьresponse.id
) и, хотя оповещение правильно извлекает ожидаемый идентификатор,response2.privacy
возвращаетundefined
... Как я мог это проверить? 22.05.2014post_id
и поместите его в Graph Explorer: developers.facebook.com/tools/explorer Я обновил свой ответ еще одной подсказкой. 22.05.2014v2.0/10203987693281115
из Graph Explorer и получил GraphMethodExceptionUnsupported get request
... Означает ли это, что сообщение на самом деле не сделано (поэтому он не может его получить), или я делаю что-то не так? Что касается конфигурации конфиденциальности моего приложения, в разделе «Утвержденные» на странице приложения «Статус и обзор» отображаются электронная почта, общедоступный профиль и user_friends... Я думаю, что мне нужно опубликовать второй, поэтому, похоже, он уже предоставлен... 22.05.2014publish_actions
, чтобы публиковать фотографии для Пользователя, иuser_photos
, чтобы иметь возможность запрашивать их. Это работает только для вашего пользователя, если он является администратором приложения без явных разрешений. 22.05.2014CocoonJS.Social.Facebook.login(function(response) { console.log("GRANTED: "+response.authResponse.grantedScopes); }, { scope: 'publish_actions', return_scopes: true });
, что кажется правильным способом... Есть идеи, что я делаю не так? 22.05.2014