トークンの有効期限が切れる原因として考えられるものは何ですか (ユーザーがアプリの認証を取り消す以外に)?
私の問題は、数千人のユーザーがいるアプリを持っていることです。すべての API 通信は完全に機能しますが、一部のユーザーではinvalid or expired token
エラーが発生します。最初は、アプリへの認証をキャンセルしたユーザーですが、何人かに連絡しましたそれらのアクセスを取り消していません。
そのエラーを引き起こす可能性のある他の問題は何ですか?
トークンの有効期限が切れる原因として考えられるものは何ですか (ユーザーがアプリの認証を取り消す以外に)?
私の問題は、数千人のユーザーがいるアプリを持っていることです。すべての API 通信は完全に機能しますが、一部のユーザーではinvalid or expired token
エラーが発生します。最初は、アプリへの認証をキャンセルしたユーザーですが、何人かに連絡しましたそれらのアクセスを取り消していません。
そのエラーを引き起こす可能性のある他の問題は何ですか?
アクセス トークンの使用中にGET account/verify_credentialsを呼び出すことで、いつでもアクセス トークンの整合性を確認できます。
その言及と研究により、私はそれを知るようになりました:
ユーザーが設定からアプリケーションを明示的に拒否した場合、または Twitter 管理者がアプリケーションを一時停止した場合、アクセス トークンは無効になります。申請が一時停止された場合、申請ページに一時停止されたことを示すメモが表示されます。
Twitter の OAuth アクセス トークンが無効/期限切れになっているのはなぜですか?
この投稿を確認してください:無効な/期限切れのアクセス トークン。
Googleグループには次のような投稿があります:
二度目のチャンスはありません。これは仕様によるものです。OAuth リクエストには一意の署名があります。特定の要求が送信されると、再度送信することはできません。PIN が正しく入力されていれば、すべて問題なく、アクセス トークンを取得できます。間違った PIN を入力すると、401 Unauthorized が返されますが、これは想定どおりの結果です。しかし、再度 PIN を入力しようとすると、正しい PIN であっても未承認として表示されます。
上記の参照については、このリンクを確認してください。
同じ問題に対するTwitterの従業員によるいくつかの提案:
この時点で 2 つの提案があると思います: 1.) アプリケーションの設定に移動し、[キーのリセット] タブを使用してコンシューマー キーとシークレットをリセットし、アプリでこれらの値を更新して、引き続き表示されることを確認します。同じ動作。2.) request_token 呼び出しで oauth_callback を渡してみてください。正直なところ、これが違いを生むとは思いませんが、ここでできる限り厳格になりたいと思っています。
また、この議論を確認してください:
dev.twitter.com のアプリの設定の代わりに、oauth/access_token 呼び出しから返された oauth_token と oauth_token_secret を使用する必要があります。
まず第一に良い質問ラン。
Twitter開発者を調べたことがありますか??
Twitter は 2 つのトークンとライブラリのペアを提供するため、どのトークンを使用するかが曖昧になることがあります。そのうちの 1 つは秘密鍵です。
Twitter ID で始まり、その後にハイフンが続くトークンを選択する必要があります。
あなたの質問は、このエラーがあなたのユーザーの一部で発生するということです。したがって、アプリ自体がトークンを選択するのが曖昧であると感じる答えは次のとおりです。
私は完全に正しくないかもしれませんが、少なくとも一度はこの解決策を試してみることをお勧めします.
Access Token=738629462149844993-FcWHjfcucCLGEosyGGQ38qI******iC の場合、ハイフン (-) の後に USERID を付けることを忘れないでください。
May be this will be helpful for you.I faced the same problem.
Please find the below piece of code snippet
$code = $tmhOAuth->user_request(array(
'method' => 'POST',
'url' => $tmhOAuth->url('oauth/access_token', ''),
'params' => array(
'oauth_verifier' => trim($params['oauth_verifier']),
)
));
if ($code == 200) {
$oauth_creds = $tmhOAuth->extract_params($tmhOAuth->response['response']);
// echo '<pre>';print_r($oauth_creds);exit;
$tmhOAuth->reconfigure(array_merge($tmhOAuth->config, array(
'token' => $oauth_creds['oauth_token'],
'secret' => $oauth_creds['oauth_token_secret'],
)));
$code = $tmhOAuth->user_request(array(
'url' => $tmhOAuth->url('1.1/account/verify_credentials')
));
}