2010-08-20 160 views
6

IM使用Twitter的OAuth的類連接到Twitter的在這裏找到:Twitter的OAuth的 - 存儲令牌在MySQL

目前劇本只使用提供的令牌,但犯規它們存儲在數據庫中,我想腳本做這個。

這是我目前在我的回調腳本:

<?php 
/** 
* @file 
* Take the user when they return from Twitter. Get access tokens. 
* Verify credentials and redirect to based on response from Twitter. 
*/ 

/* Start session and load lib */ 
session_start(); 
require_once('twitteroauth/twitteroauth.php'); 
require_once('config.php'); 

/* If the oauth_token is old redirect to the connect page. */ 
if (isset($_REQUEST['oauth_token']) && $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) { 
    $_SESSION['oauth_status'] = 'oldtoken'; 
    header('Location: ./clearsessions.php'); 
} 

/* Create TwitteroAuth object with app key/secret and token key/secret from default phase */ 
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 

/* Request access tokens from twitter */ 
$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); 

/* Save the access tokens. Normally these would be saved in a database for future use. */ 
$_SESSION['access_token'] = $access_token; 

/* Remove no longer needed request tokens */ 
unset($_SESSION['oauth_token']); 
unset($_SESSION['oauth_token_secret']); 

/* If HTTP response is 200 continue otherwise send to connect page to retry */ 
if (200 == $connection->http_code) { 
    /* The user has been verified and the access tokens can be saved for future use */ 
    $_SESSION['status'] = 'verified'; 
    header('Location: ./index.php'); 
} else { 
    /* Save HTTP status for error dialog on connnect page.*/ 
    header('Location: ./clearsessions.php'); 
} 

我如何保存令牌到MySQL,在什麼腳本的一部分,我會得到令牌?

回答

6

您需要的數據存儲在$_SESSION['access_token'] = $access_token;變量中。

嘗試print_r($access_token);

內部的變量,你會發現:

screen_name 
user_id 
oauth_token 
oauth_token_secret 

其中可用於您的應用程序和存儲在數據庫中。