如何在 php 和 zend 框架中使用 twitter Oauth 获取请求来检索一些用户数据
How to use twitter Oauth get request in php and zend framework to retrieve some user data
我在使用 twitter oauth 获取一些用户数据时遇到了一个小问题。
// TWITTER APP KEYS
$consumer_key = 'some data';
$consumer_secret = 'some data';
// GETTING ALL THE TOKEN NEEDED
$oauth_verifier = $_GET['oauth_verifier'];
$token_secret = $_COOKIE['token_secret'];
$oauth_token = $_COOKIE['oauth_token'];
// EXCHANGING THE TOKENS FOR OAUTH TOKEN AND TOKEN SECRET
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $token_secret);
$access_token = $connection->oauth("oauth/access_token", array(
"oauth_verifier" => $oauth_verifier
));
$accessToken = $access_token['oauth_token'];
$secretToken = $access_token['oauth_token_secret'];
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$connection->get("users/search");
$content = $connection->get("account/verify_credentials");
$media1 = $connection->upload('media/upload', [
'media' => $this->session->image['generatedAbs']
]);
$parameters = [
'media_id' => implode(',', [
$media1->media_id_string
])
];
$result = $connection->post('account/update_profile_banner', $parameters);
现在我想检索一些信息,例如已连接用户的名字和姓氏、他的个人资料图片 link、电子邮件地址和他的位置(如果可能的话)
我阅读了官方 twitter dev documentation 但我没有找到如何在我的方法中使用它的方法,我尝试使用这种方式调试我的控制器
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$connection->get("https://api.twitter.com/1.1/users/profile_banner.json?screen_name=twitterapi");
$result = json_decode($connection);
// debug the returned result
Zend_Debug::dump($result,$label="debug gass" , $echo= true);
因此,使用 php 和 Twitter Oauth 从 Twitter 检索信息非常简单,请允许我列举 steps
1)得到一个oauth_token和oauth_verifier(steps在问题
中有清楚的解释
2) 现在有趣的部分是 :D ,您需要在回调页面的控制器中复制粘贴以下内容:
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$content = $connection->get("account/verify_credentials");
现在你真的已经完成了一切,只需调试结果 :D
Zend_Debug::dump($content->profile_image_url , $label = "achref gassoumi", $echo = true);
ps:我在工作时使用了 zend 调试器,如果您正在使用其他框架或使用纯 php,只需回显以下结果,例如:
echo $credentials->screen_name;
echo $credentials->profile_image_url ;
echo $credentials->location;
echo $credentials->profile_background_image_url;
要检索您可能需要的其他信息,请访问 GET account/verify_credentials 的官方 twitter Oauth 文档。
我在使用 twitter oauth 获取一些用户数据时遇到了一个小问题。
// TWITTER APP KEYS
$consumer_key = 'some data';
$consumer_secret = 'some data';
// GETTING ALL THE TOKEN NEEDED
$oauth_verifier = $_GET['oauth_verifier'];
$token_secret = $_COOKIE['token_secret'];
$oauth_token = $_COOKIE['oauth_token'];
// EXCHANGING THE TOKENS FOR OAUTH TOKEN AND TOKEN SECRET
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $token_secret);
$access_token = $connection->oauth("oauth/access_token", array(
"oauth_verifier" => $oauth_verifier
));
$accessToken = $access_token['oauth_token'];
$secretToken = $access_token['oauth_token_secret'];
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$connection->get("users/search");
$content = $connection->get("account/verify_credentials");
$media1 = $connection->upload('media/upload', [
'media' => $this->session->image['generatedAbs']
]);
$parameters = [
'media_id' => implode(',', [
$media1->media_id_string
])
];
$result = $connection->post('account/update_profile_banner', $parameters);
现在我想检索一些信息,例如已连接用户的名字和姓氏、他的个人资料图片 link、电子邮件地址和他的位置(如果可能的话) 我阅读了官方 twitter dev documentation 但我没有找到如何在我的方法中使用它的方法,我尝试使用这种方式调试我的控制器
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$connection->get("https://api.twitter.com/1.1/users/profile_banner.json?screen_name=twitterapi");
$result = json_decode($connection);
// debug the returned result
Zend_Debug::dump($result,$label="debug gass" , $echo= true);
因此,使用 php 和 Twitter Oauth 从 Twitter 检索信息非常简单,请允许我列举 steps
1)得到一个oauth_token和oauth_verifier(steps在问题
中有清楚的解释2) 现在有趣的部分是 :D ,您需要在回调页面的控制器中复制粘贴以下内容:
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $accessToken, $secretToken);
$content = $connection->get("account/verify_credentials");
现在你真的已经完成了一切,只需调试结果 :D
Zend_Debug::dump($content->profile_image_url , $label = "achref gassoumi", $echo = true);
ps:我在工作时使用了 zend 调试器,如果您正在使用其他框架或使用纯 php,只需回显以下结果,例如:
echo $credentials->screen_name;
echo $credentials->profile_image_url ;
echo $credentials->location;
echo $credentials->profile_background_image_url;
要检索您可能需要的其他信息,请访问 GET account/verify_credentials 的官方 twitter Oauth 文档。