2014-01-15 1 views
2

После получения обратного вызова с OauthVerifier и RequestToken из твиттера мое приложение использует Tweetsharp, чтобы получить маркер доступа:метод TweetSharp GetAccessToken возвращает нуль, но только иногда

OAuthAccessToken accessToken = service.GetAccessToken(user.TwitterRequestToken.InnerRequestToken, oauth_verifier); 

Это отлично работает для большинства пользователей, но иногда этот метод возвращает нуль без обращения в Твиттер.

ответ

8

Эта проблема вызвана изменением того, как Twitter хранит UserID, переходя от 32-битных целых чисел до 64 бит. Это произошло 21 октября 2013 года. https://dev.twitter.com/blog/64-bit-twitter-user-idpocalypse

Последнее обновление Tweetsharp до этой даты и, следовательно, по-прежнему обрабатывает идентификаторы пользователя как int и не длинные значения. Кажется, кто-то исправил проблему https://github.com/danielcrenna/tweetsharp/issues/139, но это изменение не было передано NUGET, поскольку создатель больше не обновляет пакет.

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

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

Обращаем ваше внимание, что Этот неофициальный пакет, как представляется, представляет собой много других проблем, возможно, придется найти другой путь.

+1

Является ли tweetsharp api все еще работающим –

+1

только для более старых пользователей Twitter –

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