如何使用 php 通过 Twitter API 获取用户访问令牌和访问秘密 [英] How to get user Access Token and Access Secret with the Twitter API using php

查看:62
本文介绍了如何使用 php 通过 Twitter API 获取用户访问令牌和访问秘密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写几个 php 页面,以获取 Twitter API 1.1 的用户令牌.我正在使用 TwitterOAuth 库 https://twitteroauth.com/

I’m trying to code a couple of php pages for getting users tokens the Twitter API 1.1. I’m using the TwitterOAuth library https://twitteroauth.com/

用户打开它并被重定向到 twitter.com 以对应用进行授权.

The user opens it and gets redirected to twitter.com for authorizing the app.

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

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

The user gets redirected there from twitter once he authorizes the app. It then displays the user Access Token and the user Access Secret (or store them into a database for later use).

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

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

Is this the correct way of getting a user Secret Token and Access Token?

非常感谢!

亚瑟

推荐答案

好吧,其实我自己已经弄明白了.这是我为需要它的人提供的代码:

Alright, actually managed to figure it out myself. Here is my code for those who need it:

用户打开它并被重定向到 twitter.com 以对应用进行授权.

The user opens it and gets redirected to twitter.com for authorizing the app.

<?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 重定向到那里.然后显示用户访问令牌和用户访问密钥.

Second page : twitter-back.php

The user gets redirected there from twitter once he authorizes the app. It then displays the user Access Token and the user Access Secret.

<?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/

Please remember that you need to be using the using the TwitterOAuth library https://twitteroauth.com/

希望有所帮助;)

亚瑟

这篇关于如何使用 php 通过 Twitter API 获取用户访问令牌和访问秘密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆