當我試圖獲得我的「長住訪問令牌」使用curl/PHP,但我收到錯誤「缺少了CLIENT_ID,client_secret,代碼,grant_type,REDIRECT_URI參數」 。缺少參數請求Oauth令牌調查猴子V3
我打電話的網址是您可以清楚地看到我想要傳入的參數!
https://api.surveymonkey.net/oauth/token?client_secret= '.urlencode($ client_secret)。' & code ='。urlencode($ short_token)。' & redirect_uri ='。urlencode($ redirect_url)。' & client_id ='。urlencode($ client_id)'。 & grant_type = authorization_code
我也根據文檔(見下文)使用「application/x-www-form-urlencoded」的內容類型。
我捲曲的要求:
function survey_monkey_curl_request($url, $params=[], $request_type = 'get', $access_token) {
print_r($url);
$ch = curl_init();
$headers = [
"Content-Type: application/x-www-form-urlencoded",
"Authorization: bearer " .$access_token
];
$opts = [
CURLOPT_URL => $url,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => 0,
];
if ($request_type == 'post') {
$opts[CURLOPT_POST] = 1;
//$opts[CURLOPT_POSTFIELDS] = json_encode($params);
}
if ($request_type == 'patch') {
$opts[CURLOPT_CUSTOMREQUEST] = "PATCH";
$opts[CURLOPT_POSTFIELDS] = json_encode($params);
}
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
if ($result === false) {
curl_close($ch);
throw new Exception(curl_error($ch));
}
curl_close($ch);
return $result;
}
我要去哪裏錯了?
謝謝 - 你的反應是有道理的。我會在早上試一試,並報告/接受你的答案,如果它的工作:) –
上述代碼工作完美!非常感謝你的幫助:) –