Ошибка при использовании действия "Открыть график" для news.reads

Я испытываю новые действия Open Graph для создания таких функций, как Washington Post Social Reader. Я создал страницы OG типа "article" и опубликовал для них действие "news.reads". Я проверил, что страницы являются действительными объектами OG, используя отладчик OG. И пользователь предоставил разрешения publish_actions.

Я публикую действие с HTTP POST для:

https://graph.facebook.com/me/news.reads?article=((article link))&access_token=...

Я получаю эту ошибку от Facebook:

type = u'OAuthException', message = u'An unknown error has occurred.'

Поэтому я снова пытаюсь выполнить то же действие, и на этот раз я получаю следующую ошибку:

type = 'OAuthException' 
message = '(#3501) User is already associated to a article object on a unique
action type Read. Original Action ID: ((action id))'

Где ((идентификатор действия)) является действительным идентификатором действия, который я могу проверить, просмотрев:

http://graph.facebook.com/((action id))

Что дает мне подробности о действии. Я пробовал вышеописанное несколько раз с разными страницами и разными пользователями, и это один и тот же поток: неизвестная ошибка, ошибка повторяющегося действия. Похоже, что действие создается, однако:

  1. Я не вижу его на временной шкале пользователя.
  2. И я не вижу его в журнале активности.

Что мне не хватает?

Примечание. Если я сделаю вышеизложенное, используя собственные существительные и глаголы, относящиеся к приложению, все будет работать так, как ожидается. Но я заинтересован в использовании встроенных существительных и глаголов для лучшей агрегации на временных шкалах пользователей.

3 ответа

Если ваше действие не было одобрено Facebook, оно не будет показано конечным пользователям. Только те, которые перечислены в разделе "Роли" в настройках приложения, смогут публиковать и просматривать действия в журнале активности (например, администраторы, разработчики и тестеры).

Попробуйте протестировать действие с тестовым пользователем. Создайте нового тестового пользователя на странице "Роли" и войдите с ним. Посмотрите, опубликовано ли действие и правильно ли оно отображается в журнале активности.

Вот что я использую для публикации видео-часов, вы можете попробовать сделать то же самое:

 function postWatch()
    {
        FB.api('/me/video.watches' + 
                    '?video=<?php echo $url; ?>','post',
                    function(response) {
            if (!response || response.error) {
                   alert(response.error);
            } else {
                //alert('Post was successful! Action ID: ' + response.id);
                }
        });
    }

Встроенное действие "Чтение" определяется как "уникальное", а тип вашего действия - нет (см. Раздел "Дополнительно" на экране редактирования действия). Вы не можете отправить Read с одним и тем же URL объекта дважды.

Другие вопросы по тегам