php - 如何使用 Twitter API 获取用户 Access Token 和 Access Secret

标签 php twitter oauth

我正在尝试编写几个 PHP 页面的代码,以获取 Twitter API 1.1 的用户 token 。我正在使用 TwitterOAuth 库 https://twitteroauth.com/

首页:twitter-go.php

用户打开它并被重定向到 twitter.com 以授权该应用。

我猜这是使用 POST oauth/request_token 和 GET oauth/authorize 函数的地方。

第二页:twitter-back.php

一旦用户授权该应用程序,用户就会从 Twitter 重定向到那里。然后它显示用户访问 token 和用户访问 secret (或将它们存储到数据库中以备后用)。

我猜这是使用 POST oauth/access_token 函数的地方。

这是获取用户 Secret Token 和 Access Token 的正确方法吗?

最佳答案

好吧,实际上我自己弄明白了。这是我为需要它的人编写的代码:

首页:twitter-go.php

用户打开它并被重定向到 twitter.com 以授权该应用。

<?php

//LOADING LIBRARY
require "twitteroauth/autoloader.php";
use Abraham\TwitterOAuth\TwitterOAuth;

//TWITTER APP KEYS
$consumer_key = 'yourkey';
$consumer_secret = 'yourkey';

//CONNECTION TO THE TWITTER APP TO ASK FOR A REQUEST TOKEN
$connection = new TwitterOAuth($consumer_key, $consumer_secret);
$request_token = $connection->oauth("oauth/request_token", array("oauth_callback" => "http://boulangerie-colas.fr/twitter/twitter-back.php"));
//callback is set to where the rest of the script is

//TAKING THE OAUTH TOKEN AND THE TOKEN SECRET AND PUTTING THEM IN COOKIES (NEEDED IN THE NEXT SCRIPT)
$oauth_token=$request_token['oauth_token'];
$token_secret=$request_token['oauth_token_secret'];
setcookie("token_secret", " ", time()-3600);
setcookie("token_secret", $token_secret, time()+60*10);
setcookie("oauth_token", " ", time()-3600);
setcookie("oauth_token", $oauth_token, time()+60*10);

//GETTING THE URL FOR ASKING TWITTER TO AUTHORIZE THE APP WITH THE OAUTH TOKEN
$url = $connection->url("oauth/authorize", array("oauth_token" => $oauth_token));

//REDIRECTING TO THE URL
header('Location: ' . $url);

?>

第二页:twitter-back.php

一旦用户授权该应用程序,用户就会从 Twitter 重定向到那里。然后它会显示用户访问 token 和用户访问密码。

<?php 
/**
 * users gets redirected here from twitter (if user allowed you app)
 * you can specify this url in https://dev.twitter.com/ and in the previous script
 */ 

//LOADING LIBRARY
require "twitteroauth/autoloader.php";
use Abraham\TwitterOAuth\TwitterOAuth;

//TWITTER APP KEYS
$consumer_key = 'yourkey';
$consumer_secret = 'yourkey';

//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'];

//DISPLAY THE TOKENS
echo "<b>Access Token : </b>".$accessToken."<br />";
echo "<b>Secret Token : </b>".$secretToken."<br />";

 ?>

请记住,您需要使用 TwitterOAuth 库 https://twitteroauth.com/

关于php - 如何使用 Twitter API 获取用户 Access Token 和 Access Secret,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549383/

相关文章:

javascript - 如何在php中找到与某个字符最接近的html标签?

ios - 如何使用户从 twitter fabric ios 注销

oauth - ASP.NET MVC4 谷歌 oAuth

java - Twitter - 查询特定地理位置半径内的推文

java - 尝试在Spring MVC中使用OAuth保护资源

PHP Google OAuth - 缺少方法?

php - 用Javascript刷新DIV并限制时间

php - 更改下拉菜单宽度

php - Arduino 通讯停止工作

javascript - 如何检测 Facebook/Instagram/Twitter 浏览器?