2012-10-04 24 views
0

我正在測試一個cURL函數來獲取Foursquare上給定用戶的訪問令牌。以下功能以json格式在屏幕上打印訪問令牌從PHP的cURL請求獲得Foursquare的access_token

{"access_token":"5B25GW5LF3L4W04PALHK32X5Z3YGNUUVDHM2TFBQOWZSQ121"} 

我在提取訪問令牌的值時遇到問題。

這功能我使用:

功能get_access_token($代碼){

 $url = "https://foursquare.com/oauth2/access_token"; 

     $fields = array(
      'client_id' => urlencode($this->client_id), 
      'client_secret' => urlencode($this->client_secret), 
      'grant_type' => 'authorization_code', 
      'redirect_uri' => urlencode($this->redirect_url), 
      'code' => $code 
     ); 

     //url-ify the data for the POST 
     foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
     rtrim($fields_string, '&'); 

     //open connection 
     $ch = curl_init(); 

     //set the url, number of POST vars, POST data 
     curl_setopt($ch,CURLOPT_URL, $url); 
     curl_setopt($ch,CURLOPT_POST, count($fields)); 
     curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

     //execute post 
     $result = curl_exec($ch); 
     //close connection 
     curl_close($ch); 

     return var_dump($result) /* prints bool(true) */; 
    } 

如何我此訪問令牌存儲在一個變量?

謝謝

回答

0

只需添加一行代碼告訴捲曲傳遞的返回值回curl_exec和你的$結果變量:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

您可能還需要檢查是否發生錯誤時,數據來源返回:例如:

$result = curl_exec($ch); 
if (curl_errno($ch)) 
    echo (curl_error($ch)); 
else 
    echo $result; 
curl_close($ch);