2013-03-19 2 views
1

Я использую API-интерфейс Twitter для Python для трансляции твитов. Иногда это работает нормально. Иногда это дает мне ошибку «Текст вашего твита слишком длинный» для твитов, которые, я считаю, должны быть полностью законными.Twitter API: «TwitterError: текст вашего твита слишком длинный».

Этого сайт объясняет, что все ссылки в тви в основном должны быть расценены как 20 символов: https://dev.twitter.com/docs/tco-link-wrapper/faq#How_do_I_calculate_if_a_Tweet_with_a_link_is_going_to_be_over_140_characters_or_not

Но всем это не работает для меня. У меня есть твит, который составляет 132 символа. Он включает ссылку bit.ly/YmoXqw. (Это связанная ссылка, но размер и форма ссылки одинаковы). И это дает мне ошибку выше. По моим расчетам, даже если я считаю эту ссылку 20 символами, она все равно выйдет до 139 символов, которая меньше 140. Так в чем же тут решение?

ответ

2

Вместо того, чтобы жестко кодировать номер, вы можете запросить help/configuration и использовать * short_url_length_https * и * short_url_length *. Руководство пользователя Twitter Working with t.co Best Practices рекомендует кэшировать эти значения до 24 часов. Недавно Twitter объявил Upcoming t.co changes, где длины увеличивались. Возможно, вы видите это и потенциально сталкиваетесь с ошибками в силовых твитах из-за различий в длинах HTTP и https.

+0

Хорошо. Благодарю. Как я могу использовать API Python-Twitter для запроса справки/конфигурации? , когда я смотрел на имена функций, предоставленных API, никто не казалось, что они будут делать это: >>> реж (апи) [ 'ClearCredentials', 'CreateFavorite', 'CreateFriendship', 'CreateList', «CreateSubscription», «DEFAULT_CACHE_TIMEOUT», «DestroyDirectMessage», «DestroyFavorite», «DestroyFriendship», «DestroyList», «DestroyStatus», «DestroySubscription», «GetDirectMessages», «GetFavorites», «GetFeatured», «GetFollowerIDs», «GetFollowers» ',' GetFriendID ',' GetFriends ',' GetFriendsTimeline ',' GetLists ', –

+0

У API-интерфейса Python Twitter есть член _shortlink_size. Я думал, это тот, который мне нужен. Но это значение составляет 19. Если ясно, что https://dev.twitter.com/docs/api/1.1/get/help/configuration показывает, что оно равно 22. Так что же дает? –

Смежные вопросы