Можно ли / как получить число членов конкретной группы Facebook (даже если число их 500+)?

голоса
2

Мне нужно отслеживать число пользователей facebook группы и отображать его на веб-сайте. Я знаю, что можно получить идентификаторы пользователей, используя их API, но они ограничены только 500 (если общее количество членов 500+).

Что было бы самым простым способом, чтобы получить общее количество пользователей, которые подписались на Facebook группы, что я создана? Это вообще возможно?

Задан 27/11/2008 в 13:44
источник пользователем
На других языках...                            


3 ответов

голоса
3

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

Ответил 27/11/2008 в 15:38
источник пользователем

голоса
0

В соответствии с документацией для Groups.getMembersнего не представляется возможным получить> 500 членов группы с вызовом API. Хуже того , вы , кажется, только быть в состоянии получить 500 случайных пользователей.

Вы можете рассмотреть вопрос об использовании Facebook Connect с сайта вместо. Я не специалист по Connect, но я верю, что вы не будете иметь эту проблему, используя это, так как вы на самом деле писать Facebook-специфичный код - кажется, не было бы никакой цели в предельных результатов. Это было бы направление я выглядел бы, по крайней мере.

Удачи.

Ответил 28/01/2009 в 16:39
источник пользователем

голоса
2

Вы можете сделать это с помощью FQL запроса, как это:

SELECT uid FROM group_member WHERE gid = <group_id> limit 500
SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset 500
SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset 1000
...

Получить количество членов

Сделайте это внутри цикла (пока вы не получите 0 результатов), и вы получите общее число членов группы

    perPage = 500
    for count in range(100):
        res = fql('SELECT uid FROM group_member WHERE gid = %s limit %d offset %d' % (fbUserId, perPage, perPage * count))
        if len(res) == 0:
            break
        friends += len(res)

Получить детализацию членов

Вы даже можете присоединиться к столу пользователя FQL иметь все детали пользователя:

SELECT uid, name, pic_square FROM user WHERE uid IN ( 
         SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset %d )
Ответил 04/12/2011 в 00:37
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more