--- title: "検索のユースケース" slug: "naver-api-hub-search-examples" updated: 2026-09-17T09:57:20Z published: 2026-09-17T09:57:20Z canonical: "api.ncloud-docs.com/naver-api-hub-search-examples" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 検索のユースケース Classic/VPC環境で利用できます。 検索 APIを使用して、NAVER検索のブログ検索結果を照会する実装例です。検索 APIの他の操作の実装方法もこれと類似しているため、この実装例を参照すれば、検索 APIを実装することができます。 参考 - サンプルコードの`YOUR_CLIENT_ID`には、NAVERクラウドプラットフォームコンソールで発行された Client IDを、`YOUR_CLIENT_SECRET`には、その Client IDとマッピングする Client Secretを入力してください。 - Client IDと Client Secretの発行方法は、[NAVER API HUBの概要](/docs/ja/naver-api-hub-overview#API%ED%82%A4)をご参照ください。 ## ブログ検索結果の照会 NAVER検索のブログ検索結果を照会する検索 APIのサンプルコードを説明します。リクエスト URI(`/search/v1/blog`)とクエリパラメータ(`query`、`display`など)を他の検索操作の値に置き換えることで、同様の方法で他の検索結果を照会することができます。 ### Java Javaベースの検索 APIのサンプルコードは次の通りです。 ``` package com.naver.apihub.example; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; public class ApiExampleSearchBlog { public static void main(String[] args) { String clientId = "YOUR_CLIENT_ID"; // アプリケーションの Client ID String clientSecret = "YOUR_CLIENT_SECRET"; // アプリケーションの Client Secret String text; try { text = URLEncoder.encode("コーヒー", "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException("検索キーワードエンコード失敗", e); } String apiUrl = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + text + "&display=2"; Map requestHeaders = new HashMap<>(); requestHeaders.put("X-NCP-APIGW-API-KEY-ID", clientId); requestHeaders.put("X-NCP-APIGW-API-KEY", clientSecret); String responseBody = get(apiUrl, requestHeaders); System.out.println(responseBody); } private static String get(String apiUrl, Map requestHeaders) { HttpURLConnection con = connect(apiUrl); try { con.setRequestMethod("GET"); for (Map.Entry header : requestHeaders.entrySet()) { con.setRequestProperty(header.getKey(), header.getValue()); } int responseCode = con.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 正常にレスポンス return readBody(con.getInputStream()); } else { // エラーを返す return readBody(con.getErrorStream()); } } catch (IOException e) { throw new RuntimeException("APIリクエストおよびレスポンス失敗", e); } finally { con.disconnect(); } } private static HttpURLConnection connect(String apiUrl) { try { URL url = new URL(apiUrl); return (HttpURLConnection) url.openConnection(); } catch (MalformedURLException e) { throw new RuntimeException("無効な API URLです。: " + apiUrl, e); } catch (IOException e) { throw new RuntimeException("接続できません。: " + apiUrl, e); } } private static String readBody(InputStream body) { InputStreamReader streamReader = new InputStreamReader(body, StandardCharsets.UTF_8); try (BufferedReader lineReader = new BufferedReader(streamReader)) { StringBuilder responseBody = new StringBuilder(); String line; while ((line = lineReader.readLine()) != null) { responseBody.append(line); } return responseBody.toString(); } catch (IOException e) { throw new RuntimeException("APIレスポンスを読み取れません。", e); } } } ``` ### PHP PHPベースの検索 APIのサンプルコードは次の通りです。 ``` ``` ### Node.js Node.jsベースの検索 APIのサンプルコードは次の通りです。 ``` const client_id = 'YOUR_CLIENT_ID'; const client_secret = 'YOUR_CLIENT_SECRET'; const api_url = 'https://naverapihub.apigw.ntruss.com/search/v1/blog?query=' + encodeURIComponent('コーヒー') + '&display=2'; (async () => { const response = await fetch(api_url, { headers: { 'X-NCP-APIGW-API-KEY-ID': client_id, 'X-NCP-APIGW-API-KEY': client_secret, }, }); console.log(response.status); console.log(await response.text()); })(); ``` ### Python Pythonベースの検索 APIのサンプルコードは次の通りです。 ``` import urllib.request import urllib.parse client_id = "YOUR_CLIENT_ID" client_secret = "YOUR_CLIENT_SECRET" enc_text = urllib.parse.quote("コーヒー") url = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + enc_text + "&display=2" request = urllib.request.Request(url) request.add_header("X-NCP-APIGW-API-KEY-ID", client_id) request.add_header("X-NCP-APIGW-API-KEY", client_secret) response = urllib.request.urlopen(request) rescode = response.getcode() if rescode == 200: response_body = response.read() print(response_body.decode("utf-8")) else: print("Error Code:" + str(rescode)) ``` ### C# C# ベースの検索 APIのサンプルコードは次の通りです。 ``` using System; using System.IO; using System.Net; using System.Text; namespace NaverApiHubExample { public class ApiExampleSearchBlog { static void Main(string[] args) { string clientId = "YOUR_CLIENT_ID"; string clientSecret = "YOUR_CLIENT_SECRET"; string query = WebUtility.UrlEncode("コーヒー"); string url = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + query + "&display=2"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.Add("X-NCP-APIGW-API-KEY-ID", clientId); request.Headers.Add("X-NCP-APIGW-API-KEY", clientSecret); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { Console.WriteLine(reader.ReadToEnd()); } } catch (WebException e) // エラーを返す { using (StreamReader reader = new StreamReader(e.Response.GetResponseStream(), Encoding.UTF8)) { Console.WriteLine(reader.ReadToEnd()); } } } } } ```