Задать вопрос

Как сделать пост на стену Facebook из приложения с facebook-ios-sdk 4.1.0?

Facebook-iOS-SDK 4.1.0 не могу запостить ссылку на свою стену в ФБ.
Во время авторизации запрашиваю права на @"publish_actions". Авторизовываюсь от одного из пользователей в списке Roles приложения в Facebook.
Код такой:

if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/feed"
                                           parameters: params
                                           HTTPMethod:@"POST"]
        startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
            if (!error) {
                success( result );
            } else {
                failed( error.description );
            }
        }];
    }


Запрос уходит, но ответа никакого нет. Ничего не проиходит. Вообще. Будто в космос улетает.
Я правильно понял, что сейчас Facebook будет проверять приложения в которых используется sdk и пост инфы на стену?
Для этого надо отправить им приложение.
На данный момент, я не могу это сделать, потому что Facebook говорит, что нет активных запросов с publish_actions за последний месяц. Не понимаю почему так происходит. Ведь код выше как раз и должен слать такие запросы.
0a1c58a3ba1645f193296c0761386fb4.png
картинка из настроек приложения в FB.
  • Вопрос задан
  • 638 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
marsohod
@marsohod Автор вопроса
Нашёл проблему.
я пытался отправить пост на стену в другом потоке через dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{}); В доках Facebook сказано следующее:
FBSDKRequestConnection uses NSURLConnection which requires an active RunLoop. If you're using it outside of the main thread you have to manage this yourself.

Alternatively, you can set the delegateQueue property on the FBSDKRequestConnection.

Поэтому пришлось заменить dispatch_async на NSOperationQueue. И добавить его в FBSDKGraphRequestConnection через setDelegateQueue
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@s0L
Как он у вас уходит, если вы publish_actions получить не можете? Скорее всего у вас запрос просто не выполняется по условию. Что касается поста на стену, то это не обязательно делать через запросы API, можно через диалоги или встроенную в iOS шарилку, для этого publish_actions получать не нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы