Oauth 질문드립니다.
Radar
7년 전
조회 4,849
안녕하세요.
네이버 클라우드 에서 API방식으로 요금을 과금하고 사용하는 GeoLocation 입니다.
Oauth 방식을 처음 보아서...계속 오류만 뜨는데요.. 혹시 Oauth 부분에 대해 아시면 답변 감사합니다.
</p>
<p>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));
}</p>
<p>$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("<a href="https://api.ncloud.com/geolocation/"," target="_blank" rel="noopener noreferrer">https://api.ncloud.com/geolocation/",</a> 'GET', $Header);
$Header['oauth_signature'] = base64_encode(hash_hmac( 'sha1', $base_info, "Secret Key"));</p>
<p>echo "<a href="https://api.ncloud.com/geolocation/?".http_build_query($Header);" target="_blank" rel="noopener noreferrer">https://api.ncloud.com/geolocation/?".http_build_query($Header);</a>
echo "
";</p>
<p>$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "<a href="https://api.ncloud.com/geolocation/?".http_build_query($Header)); " target="_blank" rel="noopener noreferrer">https://api.ncloud.com/geolocation/?".http_build_query($Header)); </a>
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;</p>
<p>
Access Key ID
Secret Key
은 정상적으로 입력하여
확인해보면
801 Signature is invalid
에러가 표시되는데요 ㅠㅠ oauth_signature 키값 정상적인거 같은데 작동이 되지 않습니다.
왜그럴까요 ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인