Проверить токен OAuth на Twitter

Я храню информацию oauth из Twitter в Flash Cookie после того, как пользователь идет, несмотря на процесс oauth. Twitter говорит, что этот токен должен истекать только в случае, если Twitter или пользователь отменит доступ к приложению.

Есть ли вызов, который я могу сделать для Twitter, чтобы проверить, что мой сохраненный токен не был отозван?

Ответы

Ответ 1

Все API-методы, требующие проверки подлинности, терпят неудачу, если истекает токен доступа. Однако конкретный метод проверки того, кто является пользователем и что токен доступа по-прежнему действителен, GET account/verify_credentials

Ответ 2

Этот вопрос может быть старым, но этот для гуглеров (как и я).

Вот вызов твиттера с использованием гамака:

    RestClient rc = new RestClient {Method = WebMethod.Get};
            RestRequest rr = new RestRequest();
            rr.Path = "https://api.twitter.com/1/account/verify_credentials.json";
            rc.Credentials = new OAuthCredentials
                                 {
                                     ConsumerKey = /* put your key here */,
                                     ConsumerSecret = /* put your secret here */,
                                     Token = /* user access token */,
                                     TokenSecret = /* user access secret */,
                                     Type = OAuthType.AccessToken
                                 };
            rc.BeginRequest(rr, IsTokenValid);

Вот ответ:

    public void IsTokenValid(RestRequest request, RestResponse response, object userState)
    {
        if(response.StatusCode == HttpStatusCode.OK)
        {
            var user = userState;
            Helper.SaveSetting(Constants.TwitterAccess, user);
        }
        else
        {
            Dispatcher.BeginInvoke(() => MessageBox.Show("This application is no longer authenticated "))
        }
    }

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

Ответ 3

При отладке вручную:

curl \
   --insecure https://api.twitter.com/1/account/verify_credentials.json?oauth_access_token=YOUR_TOKEN

Ответ 4

Я использую TwitterOAuth API и вот код, основанный на принятом ответе.

$connection     =   new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $twitter_oauth_token, $twitter_oauth_secret); 
$content        =   $connection->get("account/verify_credentials");                        
if($connection->getLastHttpCode() == 200):
    // Connection works fine.
else:
    // Not working
endif;