Позвольте мне объяснить все здесь, чтобы вы могли получить четкое представление о ситуации:
У меня есть страница в Facebook, и идеи (как на странице, так и на графике API) дают мне много ценной информации, но мне нужно углубиться. Я думал о применении концепций анализа социальных сетей (центральность, промежуточность, собственный вектор и т. Д.) В отношении того, кто любит / делится / комментирует мои страницы posts / pics / etc, чтобы я мог найти ключевых пользователей моей страницы и узнать, как распространяется вирусность среди них.
Давайте возьмем «нравится пост» в качестве примера. Первое, что мне нужно, это получить список всех, кому понравился этот пост, который прост и может быть сделан с помощью нескольких запросов к графапи. Теперь самое сложное: мне нужно знать отношения между всеми этими людьми, которым понравился пост, но у меня нет доступа к их списку друзей. Чтобы получить доступ к списку друзей, я должен сделать страницу приложением и запросить это разрешение, чего нельзя сделать на данный момент. Но facebook api позволяет вам проверить, дружат ли два человека (user1 и user2) с таким запросом: user1 / friends / user2, и для этого мне не нужны специальные разрешения, просто обычный токен. Ну, пока все хорошо, я просто получаю пользователей, которым понравился пост, и проверяю два на два, какие из них являются друзьями. Но тут возникает проблема:
Я могу сделать пакетные запросы к API, что означает, что я могу проверить 50 пар пользователей одним запросом. И из того, что я прочитал, facebook позволяет 600 запросов каждые 600 секунд. Простая математика: 30 000 пар пользователей каждые 10 минут. Это большое число, должно быть достаточно. Это не так. Давайте предположим, что у поста 1000 лайков (совсем не оптимистично). Я должен был бы проверить user1 против других 999 пользователей. Теперь user2 нужно будет проверить против оставшихся 998 пользователей (нет необходимости снова проверять против user1, потому что проверка друга работает в обоих направлениях). User3 против 997 пользователей и т. Д., Пока user999 не будет проверен против 1 пользователя. Поэтому мне нужно выполнить 999 + 998 + 997 + 996 + ... + 3 + 2 + 1 проверок или 499 500 запросов, что означает почти 3 часа, чтобы получить данные, соответствующие ограничениям Facebook. 10 тысяч лайков заняло бы больше недели!
Итак, мой вопрос: есть ли другой способ заставить эту работу? Еще один способ получения данных или самый большой пакетный запрос? Каким образом я могу получить эти данные? Или это просто невозможно, так как Facebook сохраняет важную информацию?
Спасибо, что прочитали все это и помогли мне;)