Проверьте OAuth-токен в Твиттере - PullRequest
16 голосов
/ 27 мая 2011

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

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

Ответы [ 4 ]

17 голосов
/ 28 мая 2011

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

3 голосов
/ 26 июня 2012

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

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

    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, это моя первая попытка вернуть, хотя и довольно поздно, к вопросу.

1 голос
/ 03 мая 2016

Я использую 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;
1 голос
/ 23 января 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...