私はtwitter autorization(OAuth)のためにPHPを使用しています。応答でユーザメールを取得できません。OAuth Twitter(Php)
define('ACCOUNT_EMAIL','https://api.twitter.com/1.1/account/verify_credentials.json');
$oauth_nonce = md5(uniqid(rand(), true));
$oauth_timestamp = time();
$oauth_token = $response['oauth_token'];
$oauth_token_secret = $response['oauth_token_secret'];
$screen_name = $response['screen_name'];
//create oauth signature
$params = array(
'oauth_consumer_key=' . CONSUMER_KEY . URL_SEPARATOR,
'oauth_nonce=' . $oauth_nonce . URL_SEPARATOR,
'oauth_signature_method=HMAC-SHA1' . URL_SEPARATOR,
'oauth_timestamp=' . $oauth_timestamp . URL_SEPARATOR,
'oauth_token=' . $oauth_token . URL_SEPARATOR,
'oauth_version=1.0' . URL_SEPARATOR,
'screen_name=' . $screen_name,
//'include_email=true'
);
$oauth_base_text = 'GET' . URL_SEPARATOR . urlencode(ACCOUNT_EMAIL) . URL_SEPARATOR . implode('', array_map('urlencode', $params));
$key = CONSUMER_SECRET . '&' . $oauth_token_secret;
$signature = base64_encode(hash_hmac("sha1", $oauth_base_text, $key, true));
// get userinfo
$params = array(
'oauth_consumer_key=' . CONSUMER_KEY,
'oauth_nonce=' . $oauth_nonce,
'oauth_signature=' . urlencode($signature),
'oauth_signature_method=HMAC-SHA1',
'oauth_timestamp=' . $oauth_timestamp,
'oauth_token=' . urlencode($oauth_token),
'oauth_version=1.0',
'screen_name=' . $screen_name,
//'include_email=true'
);
$url = ACCOUNT_EMAIL . '?' . implode(URL_SEPARATOR, $params);
$response = file_get_contents($url);
print_r($response);
** include_email =真が開いているとき - 私は何も得ます。 include_email = trueのがブロックされると は - 。私は(メールなし)すべてのuserinfoを取得**
私の管理者プロファイルでは、私は、ユーザーから依頼メールアドレスを設定し、Twitterのサポートで特別許可のための情報を送信します。 キーも再生成します。 での問題は何ですか、それ&
のfile_get_contentsは(あなたはおそらく人間が読めるエラーメッセージを見つけるでした)、ケースにはHTTPステータスコードがエラーを示す最後のURLの図です。それを回避する方法(ストリームコンテキストを渡す方法)を調べたり、エラーが発生した場合に自動的にレスポンスボディを保持しないリクエスト(cURLなど)を使用してください。 – CBroe