Подтвердить что ты не робот

Извлечение комментариев в Facebook

Я попытался получить комментарии в Facebook, используя:

http://graph.facebook.com/[post_id]/comments

Это результат всего 2 из 15 комментариев и без count info.

{
    "data": [
        {
            "id": "[post_id]",
            "from": {
                "name": "[name]",
                "id": "[id]"
             },
             "message": "[message]",
             "created_time": "2011-01-23T02:36:23+0000"
        },
        {
             "id": "[id]",
             "from": {
             "name": "[name]",
                 "id": "[id]"
             },
            "message": "[message]",
            "created_time": "2011-01-23T05:16:56+0000"
        }
    ]
}

Кто-нибудь знает, почему только 2 комментария?

Кроме того, я хочу получить комментарии (номер по умолчанию) или получить комментарии с моим номером ограничения и получить его комментарии. Есть идеи? (Используйте Graph API).

4b9b3361

Ответ 1

Вам нужно вызвать его из безопасного запроса https и предоставить access_token:

https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX

EDIT:
Добавлен объект из документа post. попробуйте нажать на ссылку comments, а затем удалите access_token и попробуйте увидеть разницу.

Ответ 2

Чтобы получить счетчик Like и счетчик comment, вам нужно использовать комбинацию PostOwnerID и PostID не только PostID

Итак, для вашего примера это будет:

https://graph.facebook.com/153125724720582_184234384932460/comments

Опять же, как упоминалось в некоторых других ответах, вам нужно использовать метод https вместе с auth_token

Ответ 3

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

Ответ 4

В Урду есть слово ЮГААР, что означает, что он находит выход, просто чтобы выполнить свою работу. Поэтому, для этой цели я сделал это JUGAAR, надеюсь, это поможет.

$contents = file_get_contents("http://graph.facebook.com/" . $_GET['id'] . "/likes");
if (substr_count($contents, 'name')>0) {
    echo substr_count($contents, 'name') . " people like this album";
}

Кстати, я тоже новичок в этом материале Fb, я ищу помощь для публикации комментариев. Когда я пытаюсь использовать graph.api./id/comments?access_token=sdfsfsdf&message="D, он по-прежнему возвращает комментарии для идентификатора вместо публикации.

Ответ 5

Как проверка работоспособности, есть ли у вас разрешение "read_stream"? Я могу видеть полные комментарии с моим токеном доступа, который использует "read_stream". Как уже упоминалось другими людьми, вы также должны использовать https и токен доступа...

Ответ 6

Попробуйте выполнить аутентификацию через вход в приложение (http://developers.facebook.com/docs/authentication), а затем вызвать GraphAPI с помощью параметра access_token prarameter.

Ответ 7

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

Это приведет ко всем комментариям к этому объекту.

Чтобы получить количество комментариев для каждого объекта, вы можете выполнить запрос fql, что-то вроде этого:

SELECT comments FROM stream WHERE post_id = [yourpostid]

Это вернет в массив comments под параметром count количество отсчетов для этого объекта.

Ответ 8

SELECT comments FROM stream WHERE post_id = [yourpostid] не будет работать в этом случае.

идентификатор, который возвращается после успешного выполнения графического вызова для публикации на стене пользователя (с использованием access_token приложения), имеет форму abcdef_qwerty (выделенный идентификатор подчеркивания) где в качестве post id, который отображается в post_id таблицы комментариев, имеет вид "lmnop"..

чтобы получить подсчеты и комментарии к этому сообщению id формы "abcdef_qwerty", делая вызов графа с помощью открытого токена доступа к приложениям, кажется единственным решением.

что-то вроде: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx

Ответ 9

  Результатов только 2 из 15 комментариев

Добавьте параметр ограничения к URL-адресу:

 http://graph.facebook.com/[post_id]/comments?limit=1000&access_token=XXX

Это должно показать все комментарии.

Ответ 10

После успешного входа в систему вызывается этот метод facebookComments()

parameters.putString( "поля", "сообщение" );.............//Важная информация

 AccessToken accessToken = AccessToken.getCurrentAccessToken();
    public void facebookComments() {
        try {
            getFriends(accessToken, new GraphRequest.Callback() {
                        public void onCompleted(GraphResponse response) {
                            Log.e("keshav", "one" + response);
                            CommonMethod.showAlert("res  --> " + response, MainActivity.this);
                        }
                    }
            );
        } catch (Exception e) {
            CommonMethod.showAlert("Exception is -> " + e, MainActivity.this);
        }
    }

    public void getFriends(AccessToken token, GraphRequest.Callback callback)
    {
        // TODO Comments Working but id return only
        GraphRequest requestt = new GraphRequest(token, "744511125731315_751199848395776/comments",
                null, HttpMethod.GET, callback);
        Bundle parameters = new Bundle();
        parameters.putString("fields", "id");           // todo in use imp
        parameters.putString("fields", "name");           // todo in use imp
        parameters.putString("fields", "from");           // todo in use imp
        parameters.putString("fields", "message");           // todo in use imp
        requestt.setParameters(parameters);
        requestt.executeAsync();
    }