Оставить комментарий к заметке через Javascript SDK - PullRequest
2 голосов
/ 31 декабря 2011

Я пытаюсь использовать JavaScript SDK, чтобы опубликовать заметку с моего сайта, а затем разрешить публикацию комментария к этой заметке сразу после. Я успешен в первой части. Вот соответствующий фрагмент:

alert('posting to path (' + path + ') with params (' + JSON.stringify(params) + ')');
FB.api(path, "post", params, function(response) {
    if (response.error) {
        alert(response.error.type + ": " + response.error.message);
    } else {... do stuff ...}

Обратите внимание, что я сбрасываю переменные, которые передаю для проверки. Результаты идут так:

При публикации заметки:

posting to path (/100003217376622/notes) with params ({"access_token":"AAAChRmSu9s8BACFDhWCFnIS8R3OTZCSxZAyL4hLbAQxGUrn0t4ksZC5CS62qlLtAIconOKCreAUpaorzOZCHkxp2DlTfcc2c8vOY5MOLPdHMqdfWMu2V","subject":"Note #1","message":"My note"})

Это отлично работает, а номер, предшествующий "/ notes", является идентификатором моего профиля.

Однако впоследствии я пытаюсь опубликовать комментарий к этой заметке и в итоге получаю следующее.

При публикации комментария к этой заметке:

posting to path (/124528970997681/comments) with params ({"access_token":"AAAChRmSu9s8BACFDhWCFnIS8R3OTZCSxZAyL4hLbAQxGUrn0t4ksZC5CS62qlLtAIconOKCreAUpaorzOZCHkxp2DlTfcc2c8vOY5MOLPdHMqdfWMu2V","message":"Comment on Note # 1"})

Это приводит к ошибке, показанной ниже:

OAuthException: (#200) Cannot access object_id: 124528970997681

Число, предшествующее символу "/ comments", фактически является идентификатором заметки. Например, когда я наводю указатель мыши на ссылку заметки на моей стене, я вижу этот URL: http://www.facebook.com/notes/danja-garno/note-1/124528970997681,, который ведет меня к обратите внимание.

Есть идеи, почему я получаю эту ошибку?

============================= ОБНОВЛЕНИЕ =========== ======================

Этим утром я разместил ссылку вместо заметки, а затем успешно разместил комментарий с помощью той же формы и кода.

Теперь я заметил две вещи, которые могут дать подсказку. Во-первых, постоянная ссылка для ссылки выглядит следующим образом:

http://www.facebook.com/permalink.php?story_fbid=285359141511345&id=100003217376622

В то время как постоянная ссылка для note выглядит следующим образом:

http://www.facebook.com/notes/danja-garno/note-this-note/127723150678263

ТАКЖЕ , когда я получаю прямой доступ к этим объектам через URL API Graph, я получаю два разных ответа.

Я получил действительный ответ на ссылку , используя этот URL https://graph.facebook.com/141246962656776?access_token=AAAChRmSu9s8BAKedPE9DyZB5W0lQYgn71WkFFtR0wIBMHp3Qgr09vmZA7YhvzJbgoigQRHsaqXqOhpmrbzdhWd6QYV8jHvsKjSVMpLZBTD8GI9Lax7p

НО , когда я пытался получить доступ к заметке таким же образом, используя этот URL https://graph.facebook.com/124528970997681?access_token=AAAChRmSu9s8BAKedPE9DyZB5W0lQYgn71WkFFtR0wIBMHp3Qgr09vmZA7YhvzJbgoigQRHsaqXqOhpmrbzdhWd6QYV8jHvsKjSVMpLZBTD8GI9Lax7p

Все, что он возвратил, было "ложным". Что с этим?

1 Ответ

0 голосов
/ 14 января 2012

Я наконец смог найти время, чтобы попробовать это.

Я могу опубликовать заметку, а затем опубликовать комментарий к этой заметке через Graph API.Я все еще думаю, что это проблема синхронизации, когда график медленно пересекается, сохраняя заметку во всех местах, где это необходимо (и база данных графика может быть последним хранилищем данных, которое будет реплицировано).Поэтому я бы предложил поместить комментарий в очередь для последующей обработки (возможно, дайте ему 1 минуту).

...