티스토리 뷰

마케팅IT

네이버 연관검색어 api php

xemaker 2023. 6. 26. 13:59

네이버 연관검색어 api 를 php를 이용해 구현해보려고 한다. 구글링을 해보니..

https://www.codingmachine.co.kr/%EB%84%A4%EC%9D%B4%EB%B2%84-%EA%B4%91%EA%B3%A0-api/

 

네이버 광고 API 사용하기 (feat. PHP) - 코딩머신

PHP로 네이버 광고 API 를 연동하는 방법입니다. 키워드, 그룹, 캠페인 등을 API를 사용하여 생성하여 네이버 키워드 광고를 쉽고 빠르게 관리해 보세요. 키워드 연관 검색어, 검색수등을 API를 활용

www.codingmachine.co.kr

이 블로그 글이 잘 나와 있었다. 그래서 위의 글 보고 했더니 잘 되었다. 다만 헷갈리는 부분이 있었다.

일단 순서는

1. 네이버 광고 페이지 접속

https://searchad.naver.com/my-screen

 

네이버 광고

 

searchad.naver.com

2. 네이버 광고 샘플 페이지 접속 (네이버 광고 API 공식 문서)

https://naver.github.io/searchad-apidoc/#/guides

 

searchad-apidoc

 

naver.github.io

3. PHP를 이용하여 API 호출하기

여기서 헷갈리는게 sample.ini 파일에

BASE_URL = "https://api.searchad.naver.com"
API_KEY = "0123456789"
SECRET_KEY = "ABCDEFG"
CUSTOMER_ID = 000000

이렇게 되어 있는데

네이버 광고 > 도구 > API 사용관리 가보면

이렇게 엑세스라이선스, 비밀키 이렇게 되어있다. 흠.. 뭔가 이름이 안맞다. 좀 맞추지..

그래서 통빡으로 SECRET_KEY는 비밀키인것 같고 API_KEY는 엑세스라이선스 같아서 입력했더니 되었다.

API_KEY = 엑세스라이선스

SECRET_KEY = 비밀키

자신감을 가지고 입력하면 될것이다.

강릉여행을 입력했더니 아래와 같이 잘 나왔다.

sign = 1687755430058.GET./keywordstool
Http Status : 200
Transaction-ID : unknown
Array
(
    [keywordList] => Array
        (
            [0] => Array
                (
                    [relKeyword] => 강릉여행
                    [monthlyPcQcCnt] => 9320
                    [monthlyMobileQcCnt] => 32400
                    [monthlyAvePcClkCnt] => 7.4
                    [monthlyAveMobileClkCnt] => 100.3
                    [monthlyAvePcCtr] => 0.09
                    [monthlyAveMobileCtr] => 0.34
                    [plAvgDepth] => 14
                    [compIdx] => 높음
                )

            [1] => Array
                (
                    [relKeyword] => 국내여행지추천
                    [monthlyPcQcCnt] => 214900
                    [monthlyMobileQcCnt] => 61200
                    [monthlyAvePcClkCnt] => 312.1
                    [monthlyAveMobileClkCnt] => 454.8
                    [monthlyAvePcCtr] => 0.16
                    [monthlyAveMobileCtr] => 0.81
                    [plAvgDepth] => 15
                    [compIdx] => 높음
                )

            [2] => Array
                (
                    [relKeyword] => 강릉렌터카
                    [monthlyPcQcCnt] => 360
                    [monthlyMobileQcCnt] => 1060
                    [monthlyAvePcClkCnt] => 10.4
                    [monthlyAveMobileClkCnt] => 78.6
                    [monthlyAvePcCtr] => 2.98
                    [monthlyAveMobileCtr] => 7.83
                    [plAvgDepth] => 15
                    [compIdx] => 높음
                )

            [3] => Array
                (
                    [relKeyword] => 강릉독채펜션
                    [monthlyPcQcCnt] => 1230
                    [monthlyMobileQcCnt] => 5180
                    [monthlyAvePcClkCnt] => 6.6
                    [monthlyAveMobileClkCnt] => 52
                    [monthlyAvePcCtr] => 0.55
                    [monthlyAveMobileCtr] => 1.08
                    [plAvgDepth] => 14
                    [compIdx] => 높음
                )

            [4] => Array
                (
                    [relKeyword] => 강릉렌트
                    [monthlyPcQcCnt] => 300
                    [monthlyMobileQcCnt] => 1010
                    [monthlyAvePcClkCnt] => 6.9
                    [monthlyAveMobileClkCnt] => 62
                    [monthlyAvePcCtr] => 2.37
                    [monthlyAveMobileCtr] => 6.55
                    [plAvgDepth] => 15
                    [compIdx] => 높음
                )

 


<div class="">
	<form method="POST" class="search" name="form1" action="<?php echo $_SERVER['PHP_SELF'] ;?>">
	<input id="keyword" type="text" name="keyword" value="" placeholder="키워드" autocomplete="off" style="ime-mode:auto">
	<button>검색</button>
	</form>
</div>


<?php

if (empty($_REQUEST['keyword'])) {
	$keyword = "";
}else{
	$keyword=$_REQUEST['keyword'];
}

if($keyword!=""){
	require_once 'restapi.php';
	$config = parse_ini_file("sample.ini");
	$api = new RestApi($config['BASE_URL'], $config['API_KEY'], $config['SECRET_KEY'], $config['CUSTOMER_ID']);
	$params = array(
		"hintKeywords" => $keyword,
		'showDetail' => 1
	);

	$response = $api->GET("/keywordstool", $params);

	echo print_r($response, true);
}

?>

위처럼 그냥 전체가 출력되는것을 relKeyword 부분만 (   [relKeyword] => 강릉렌트 ) 출력해보겠다.


<div class="">
	<form method="POST" class="search" name="form1" action="<?php echo $_SERVER['PHP_SELF'] ;?>">
	<input id="keyword" type="text" name="keyword" value="" placeholder="키워드" autocomplete="off" style="ime-mode:auto">
	<button>검색</button>
	</form>
</div>


<?php

if (empty($_REQUEST['keyword'])) {
	$keyword = "";
}else{
	$keyword=$_REQUEST['keyword'];
}

if($keyword!=""){
	require_once 'restapi.php';
	$config = parse_ini_file("sample.ini");
	$api = new RestApi($config['BASE_URL'], $config['API_KEY'], $config['SECRET_KEY'], $config['CUSTOMER_ID']);
	$params = array(
		"hintKeywords" => $keyword,
		'showDetail' => 1
	);

	$response = $api->GET("/keywordstool", $params);
	
	foreach ($response['keywordList'] as $key => $value){
		echo $value['relKeyword']." ";
		//echo "<br/>";
	};
	//echo print_r($response, true);
}

?>

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함