Oauth 질문드립니다.
본문
안녕하세요.
네이버 클라우드 에서 API방식으로 요금을 과금하고 사용하는 GeoLocation 입니다.
Oauth 방식을 처음 보아서...계속 오류만 뜨는데요.. 혹시 Oauth 부분에 대해 아시면 답변 감사합니다.
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 "<br/><br/>";
$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 키값 정상적인거 같은데 작동이 되지 않습니다.
왜그럴까요 ㅠ
!-->
답변을 작성하시기 전에 로그인 해주세요.