Oauth 질문드립니다.
안녕하세요.
네이버 클라우드 에서 API방식으로 요금을 과금하고 사용하는 GeoLocation 입니다.
Oauth 방식을 처음 보아서...계속 오류만 뜨는데요.. 혹시 Oauth 부분에 대해 아시면 답변 감사합니다.
Copy
function buildBaseString($baseURI, $method, $params) {
$r = array();
ksort($params);
foreach($params as $key=>$value){
$r[] = "$key=" . rawurlencode($value);
}
return $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r));
}
$Header['oauth_consumer_key'] = "Access Key ID";
$Header['oauth_timestamp'] = time();
$Header['oauth_nonce'] = md5(mt_rand());
$Header['oauth_signature_method'] = "HMAC-SHA1";
$Header['oauth_version'] = "1.0";
$base_info = buildBaseString("https://api.ncloud.com/geolocation/", 'GET', $Header);
$Header['oauth_signature'] = base64_encode(hash_hmac( 'sha1', $base_info, "Secret Key"));
echo "https://api.ncloud.com/geolocation/?".http_build_query($Header);
echo "
";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.ncloud.com/geolocation/?".http_build_query($Header));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
Access Key ID
Secret Key
은 정상적으로 입력하여
확인해보면
801 Signature is invalid
에러가 표시되는데요 ㅠㅠ oauth_signature 키값 정상적인거 같은데 작동이 되지 않습니다.
왜그럴까요 ㅠ
답변 1개
7년 전
아~ 아직 해결 하지 못하셨으면 네이버포럼인가 거기서 문의글 남겨보면 해결하실수있어요 저도 그렇게해서 좀 오래걸렸지만 풀기도 했어요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인