Я потратил на это часы и не могу заставить его работать. По сути, мне просто нужна кнопка в моем приложении, которая ставит лайк себе на Facebook. Я создал приложение на Facebook для разработчиков, и у меня есть соответствующая страница приложения. В моем коде я запрашиваю эти разрешения:
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
Я могу получить изображение профиля нормально, но когда я пытаюсь поставить лайк, используя этот код:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
Я получаю такой ответ с ошибкой:
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
При входе в приложение Facebook запрашивает у меня разрешение увидеть мой день рождения и сообщает, что отправит сообщение от моего имени, но, похоже, не получит разрешения publish_actions.
Есть ли что-то, что мне нужно сделать?
Я вижу, что у Temple Run есть кнопка «Нравится» на Facebook и предлагаются бонусные монеты за ее нажатие. Это то, чего я хочу достичь.
РЕДАКТИРОВАТЬ -------
Я изменил свои разрешения на @ "publish_actions", @ "user_birthday", и теперь в диалоге авторизации говорится
«Это приложение может публиковать сообщения от вашего имени, в том числе объекты, которые вам понравились, и многое другое»
что похоже на разрешение publish_actions, однако я все еще получал ошибку
message = "(# 200) Требуется расширенное разрешение: publish_actions";
Я изменил эту строку:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:selrf];
к этому:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
и теперь я получаю ответ, хотя он не ставит лайк
Это результат ответа:
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
Есть идеи, что попробовать дальше?
РЕДАКТИРОВАТЬ 2 --------------- Я добиваюсь прогресса. Я добавил идентификатор пользователя в запрос графика следующим образом
NSString *graphPath = [NSString stringWithFormat:@"%@/og.likes",facebookID];
и использовал эти параметры
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAGeAp3ZBGwoBABvKjsPZAoQQNG9cDPJI2v2TI8acyyPSNtm9ZBkfydHqVZAjSKWSbLuvFwxyxSrCts7kFZCnh7Y6f5PFNlWb6smF8XF33wlRZBgfLyhT1", @"access_token",
@"http://samples.ogp.me/329756493773381", @"object",
nil];
и теперь у меня появляется что-то вроде того, что появляется на моей временной шкале :-) Я использовал токен доступа, предоставленный входом в систему Facebook, но похоже, что тот, который предоставлен объектом графика, отличается.
Теперь то, что я вижу, имеет следующий шаблон:
Даррен любит объект на MyAPP
Возможно ли вообще иметь это как
Даррену нравится MyAPP со ссылкой на страницу приложения в Facebook?
Спасибо