ACAccount Facebook: для запроса информации о текущем пользователе необходимо использовать активный токен доступа.

Я использую платформу iOS 6 Social для доступа к данным пользователя Facebook. Я пытаюсь получить лайки текущего пользователя в своем приложении, используя ACAccount и SLRequest. У меня есть действующая ссылка на учетную запись Facebook типа ACAccount с именем facebook, и я пытаюсь получить лайки пользователя следующим образом:

SLRequest *req = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:url parameters:nil];
req.account = facebook;
[req performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
     //my handler code.
}

где url равно @"https://graph.facebook.com/me/likes?fields=name"; В моем обработчике я получаю такой ответ:

{
error =     {
    code = 2500;
    message = "An active access token must be used to query information about the current user.";
    type = OAuthException;
};
}

Должны ли токены доступа обрабатываться фреймворком? Я нашел похожий пост Запрос данных пользователя Facebook через новую iOS6 social framework, но не имеет смысла жестко кодировать параметр токена доступа в URL-адресе, поскольку по логике проверка токена доступа/логина должна выполняться фреймворком автоматически. Во всех примерах, которые я видел, никто не играет с токеном доступа вручную:

http://damir.me/posts/facebook-authentication-in-ios- 6

iOS 6 Процедура публикации в Facebook заканчивается ошибкой remote_app_id не соответствует сохраненному идентификатору и т. д.

Я использую подход только для iOS6 со встроенной социальной структурой и не использую Facebook SDK. Я что-то упускаю?

Спасибо,

Может.


person Can Poyrazoğlu    schedule 09.12.2012    source источник
comment
у меня такая же проблема   -  person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz    schedule 01.06.2013
comment
как ты это решил?   -  person João Nunes    schedule 24.10.2014
comment
@JoãoNunes, если честно, я не помню. вероятно, я использовал Facebook SDK.   -  person Can Poyrazoğlu    schedule 24.10.2014
comment
@CanPoyrazoğlu хм... сделал то же самое через 2 часа, лол   -  person João Nunes    schedule 24.10.2014


Ответы (3)


Вам необходимо сохранить надежную ссылку на ACAccountStore, из которого исходит учетная запись. Если хранилище освобождается, похоже, это вызывает эту проблему.

person Ethan    schedule 20.10.2013
comment
Это немного сумасшествие, но это было так. какие-либо проблемы, если у меня есть ACAccountStore в качестве свойства? После того, как я установил его как свойство, он работал отлично. Спасибо @Итан - person HMHero; 21.11.2014

Попробуйте запустить на реальном устройстве вместо симулятора. Это сработало для меня.

person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz    schedule 01.06.2013

Убедитесь, что ваш идентификатор пакета введен в конфигурацию вашего приложения Facebook. У вас может быть другой идентификатор пакета для сборки dev/debug.

person Paul Shapiro    schedule 03.07.2013