1
我使用OAUTH2身份驗證導入GMAIL聯繫人。在我的代碼,我存儲的配置參數數組:谷歌聯繫人數據API給500錯誤
$clientid=<my Client id>;
$clientsecret=<my client secret>;
$redirecturi=<my redirect URL>;
$max_results = 25;
下面是我如何創建POST數組:
$fields=array(
'code'=> urlencode($auth_code),
'client_id'=> urlencode($clientid),
'client_secret'=> urlencode($clientsecret),
'redirect_uri'=> urlencode($redirecturi),
'grant_type'=> urlencode('authorization_code')
);
$post = '';
foreach($fields as $key=>$value) { $post .= $key.'='.$value.'&'; }
$post = rtrim($post,'&');
現在我正在做一個捲曲調用來獲取訪問代幣:
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,'https://accounts.google.com/o/oauth2/token');
curl_setopt($curl,CURLOPT_POST,5);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
$result = curl_exec($curl);
curl_close($curl);
$response = json_decode($result);
$accesstoken = $response->access_token;
log_message('debug','POST'.$post);
log_message('debug','contents'.$result);
這是我遇到麻煩的地方。 對於第一回調,該請求訪問令牌過程返回其顯示在我的日誌一個錯誤500迴應如下:
<HTML>
<HEAD>
<TITLE>Error processing OAuth 2 request</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Error processing OAuth 2 request</H1>
<H2>Error 500</H2>
</BODY>
</HTML>
但所有後續回調,我得到適當的訪問令牌。
第一次出現什麼問題?
更新我以某種方式重置了我的客戶端密鑰,並且一次我得到了正確的XML響應。但突然間,布魯斯已經開始給我一個新的錯誤。
剛剛通過curl調用以獲得access_token,它顯示我{「error」:「invalid_grant」}。爲什麼這樣呢?
同樣的問題在這裏 – Bodman