2026, 새로운 도약을 시작합니다.

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개

아~ 아직 해결 하지 못하셨으면 네이버포럼인가 거기서 문의글 남겨보면 해결하실수있어요 저도 그렇게해서 좀 오래걸렸지만 풀기도 했어요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고