CURL/PHP를 사용하여 "장기 거주 액세스 토큰"을 얻으려고하지만 "client_id, client_secret, code, grant_type, redirect_uri에 대한 매개 변수 누락"이라는 오류 메시지가 나타납니다. .OAUTH 토큰 조사 원숭이 v3을 요청할 때 누락 매개 변수
내가 부르는 URL은 내가 전달하려고하는 매개 변수를 명확하게 볼 수있는 곳입니다!
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"의 콘텐츠 유형도 사용하고 있습니다 (아래 참조).
내 CURL 요청 :
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;
}
어디서 잘못된 것입니까?
덕분에 - 당신의 응답은 의미가 있습니다. 나는 아침에 시도하고 다시보고/당신의 대답을 받아들이면 작동합니다 :) –
위의 코드는 완벽하게 일했습니다! 도와 줘서 고마워. :) –