#r #twitter
#r #Twitter
Вопрос:
Я пытаюсь получить полную временную шкалу пользователя Twitter с помощью пакета academictwitteR и API академического трека Twitter (v2). Тем не менее, я получаю ошибку 400. К сожалению, объяснение здесь https://developer.twitter.com/en/support/twitter-api/error-troubleshooting говорит: «Запрос был недействительным или не может быть обработан иным образом. В сопроводительном сообщении об ошибке будет дано дальнейшее объяснение. Запросы без аутентификации или с недопустимыми параметрами запроса считаются недействительными и выдадут этот ответ.», но код ошибки не содержит никаких объяснений. Я не знаю, что я делаю не так. Я пробовал и другие пакеты R, та же ошибка. У меня есть доступ ко всем другим функциям API, но я не могу настроить временную шкалу для одновременной загрузки более 3200 твитов (поскольку мой доступ должен позволять мне это делать). Я хочу получить полную временную шкалу этого пользователя, а не только самые новые 3200 твитов.
Код ошибки выглядит так:
Ошибка в make_query(url = endpoint_url, параметры = параметры, bearer_token = bearer_token, : что-то пошло не так. Код состояния: 400
Это мой запрос (я пробовал использовать идентификатор пользователя, это ничего не меняет).
tmlne <- get_user_timeline("25390350",
start_tweets = "2009-03-19T00.00.00Z",
end_tweets = "2021-11-27T00.00.00Z",
bearer_token = get_bearer(),
data_path = "twitter/data/timelines/",
n = 100000,
bind_tweets = F,
file = "tmlnw")
Я попытался отозвать и обновить токен на предъявителя, я протестировал токен, загрузив все твиты от пользователя (это не то, что мне нужно, а просто чтобы посмотреть, работает ли мой доступ), это работает, но временные рамки — нет. Я могу получить 3200 с помощью функции get_timelines_v2 пакета TwitterV2, но я не могу обойти ограничение в 3200 твитов, и я не знаю, как изменить запрос, чтобы получать более старые твиты, чем самые последние 3200, и я не могу заставить пакет academictwitteR использовать функцию временной шкалы (здесь я знаю, как сделатьнесколько запросов).
Что мне помогло бы, так это либо информация об ошибке 400, либо как настроить функцию get_timelines_v2 для включения старых твитов.
Комментарии:
1. Существует жесткий лимит в 3200 твитов на извлечение временных рамок как в версии v1.1, так и в версии v2, даже если у вас есть академический доступ. Вместо этого вы можете использовать полный поиск в архиве, чтобы найти все твиты, опубликованные этим пользователем (которые могут возвращаться дальше, чем ограничение временной шкалы)
2. Ах, черт возьми. Это то, чего я боялся. Спасибо.
3. Есть ли причина не использовать полный поиск в архиве? Вы можете использовать запрос
from:username
, чтобы получить все твиты, опубликованные пользователем. Чего вам не хватает между этим и конечной точкой временной шкалы?4. Это было то, что мне тоже было интересно, почему для одного и того же результата должно быть две функции? Я обнаружил, что формат, в котором он отображается, отличается, в фрейм данных упакованы списки, а имена пользователей для ответов отображаются просто как идентификаторы. В конце концов, это действительно сводится к удобству, если я правильно понимаю вывод. Это просто требует гораздо большего распутывания фрейма данных.