Web サイトのユーザーを識別し、適切な Twitter ID にリンクするユーザー名またはユーザー ID と一緒にデータを保存すると仮定しています。ユーザーの基本情報を取得するには、承認後にエンドポイントhttps://api.twitter.com/1.1/account/verify_credentials.json
でGET
. 1.1 API のドキュメントは、ここにあります。
これは配列を返します。またはの下に、ユーザー名 uder"screen_name"
とユーザー ID があります。"id"
"id_string"
質問はGet current user's info from Twitter API の重複の可能性がありますが、その議論は非推奨の API を指しているため、回答を追加しました。それでも、そこにあるコードは依然として有用です (Abraham William のライブラリを使用しているように見えますが、手順は基本的に同じです)。クラスと関数を Matt Harris のライブラリにあるものに置き換えます。私はコードバードを知りません、ごめんなさい!
EDIT:コードサンプルも提供しています(tmhOAuthに問題がありますが、テスト済みで動作しているため、時々自分用にのみ使用します。投稿しようとすると、奇妙なエラーコードが返されることがあることに気付きました。理由がわからない):
// Authentication page, with button. You have already connected to your database
$mywebsiteuser = $_SESSION['website_user_id'];
$query= "SELECT * FROM `table_where_you_store_twitter` WHERE website_user_id ='$mywebsiteuser'";
$sql= $mysqli->query($query) or die($mysqli->error.__LINE__); // or whatever else to check is the query fails.
if ($sql->num_rows != 0){
//etc. retrieve data and set the sessions.
// already got some credentials stored?
if ( isset($_SESSION['access_token']) ) {
$tmhOAuth->config['user_token'] = $_SESSION['access_token']['oauth_token'];
$tmhOAuth->config['user_secret'] = $_SESSION['access_token']['oauth_token_secret'];
$code = $tmhOAuth->request('GET', $tmhOAuth->url('1/account/verify_credentials'));
if ($code == 200) {
$resp = json_decode($tmhOAuth->response['response']);
echo $resp->screen_name;
echo $resp->id;
//Etc. Instead of printing them you it's a good idea to store them in the db.
} else {
outputError($tmhOAuth);
}
// we're being called back by Twitter
} elseif (isset($_REQUEST['oauth_verifier'])) {
$tmhOAuth->config['user_token'] = $_SESSION['oauth']['oauth_token'];
$tmhOAuth->config['user_secret'] = $_SESSION['oauth']['oauth_token_secret'];
$code = $tmhOAuth->request('POST', $tmhOAuth->url('oauth/access_token', ''), array(
'oauth_verifier' => $_REQUEST['oauth_verifier']
));
if ($code == 200) {
//etc.
とにかく、ユーザーの情報を取得するには、最初にアプリを承認する必要があります。Twitterではなく、Webサイトでユーザーのセッション変数を使用して、ユーザーから何かがあるかどうかを確認します。何も保存されていない場合は、アプリを承認するように依頼します。これが役立つことを願っています。