鍍金池/ 問答/PHP  HTML/ 獲取 Access Token中有個不理解的地方,求教

獲取 Access Token中有個不理解的地方,求教

獲取 Access Token中有個不理解的地方,無從下手,求教大蝦們。

clipboard.png

clipboard.png

我用的是PHP curl();
我不明白什么叫“兩次302,跟隨跳轉(zhuǎn)”,我需要怎么寫這樣的 “兩次302,跟隨跳轉(zhuǎn)”。
求教是什么意思?求教怎么實現(xiàn),拜托大蝦們

補圖:

clipboard.png

代碼:

<?php
$param = array(
  'client_id' => "7d41026f20xxxxx5ba31",
  'client_secret' => "3b507b34abee2xxxxxa897c842e2d6b8c2e1e0"
);
// 獲取 code
$code_url = 'https://cloud.minapp.com/api/oauth2/hydrogen/openapi/authorize/';
$code_data = postData($code_url, json_encode($param));

$code_data = json_decode($code_data, true);// 使用 code 獲取 Access Token
// echo $code_data;
$param['code'] = $code_data['code'];
$param['grant_type'] = 'authorization_code';

$access_token_url = 'https://cloud.minapp.com/api/oauth2/access_token/';
$access_token = postData($access_token_url, $param, 'multipart/form-data'); // 獲取到的 Access Token
print_r($access_token);

// 封裝請求函數(shù)
function postData($url, $param, $content_type = 'application/json') {
  $ch = curl_init();

  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  // 設(shè)置允許重定向
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_COOKIEFILE, '');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  curl_setopt($ch, CURLINFO_CONTENT_TYPE,  $content_type);  // 設(shè)置 Content-Type,默認(rèn) application/json
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

  $response = curl_exec($ch);
  curl_close($ch);
  return $response;
}


clipboard.png

回答
編輯回答
葬愛

302是重定向跳轉(zhuǎn),你無法使用curl去直接獲取access_token,應(yīng)該是通過跳轉(zhuǎn)后,正常應(yīng)該會放到url

xxx.com/index.php?access_token=xxxxxx

地址上。通過

$_GET['AccessToken']

去獲取,基本流程如下

1、你的url xxx.a.com
2、通過請求后302到 xxx.b.com
3、xxx.b.com得到你的請求驗證后又跳回xxx.a.com
4、這個時候你xxx.a.com下的url上就應(yīng)該又了access_token

補充:使用你提供的id與secret,我這顯示正常,應(yīng)該不是代碼問題

clipboard.png

會不會是因為你沒有curl擴展?
或者是又報錯信息,但是你沒有設(shè)置顯示報錯信息?

2017年7月16日 13:38