API
HTTP GET
概要
このブロックは、指定されたURL(HTTPサーバー)へ、HTTPのGETメソッドを使って要求(リクエスト)を送り、応答(レスポンス)としてリソース(データ)を取得します。
リクエストには、任意のクエリーパラメーターやリクエストヘッダーを含められます。
レスポンスは、変数に格納できます。
本ブロックを使うことで、HTTP GETメソッドのWeb APIとの連携が可能です。
レスポンスの"HTTP Status"が400番台、500番台の時は、ブロックの実行が失敗します。
プロパティ
| プロパティ名 | 説明 |
|---|---|
| ブロック名 |
編集パネルに配置した当該ブロックの表示名が変更できます。 ブロックリストパネル中のブロック名は変更されません。 |
| URL | リクエストするURLを指定します。 |
| クエリーパラメーター |
クエリーパラメーターを指定します。キーとバリューの組み合わせで指定します。 以下は、設定例です。
|
| ブロックメモ | このブロックに関するメモが記載できます。このブロックの処理に影響しません。 |
| エラー時の繰り返し回数 | リクエストエラー時の繰り返し回数を指定します。 |
| 繰り返し間隔 | リクエストエラー時の繰り返し間隔を秒単位で指定します。 |
| レスポンスを格納する変数 |
HTTPサーバーが返すレスポンスを格納する変数を指定します。 変数に格納する値は、レスポンスのメッセージ・ボティのみです。レスポンスの「Content-Type」ヘッダーが「application/json」の場合は、メッセージ・ボディをデコードした結果を変数に格納します。 詳細については、「出力仕様>HTTP GET/HTTP POST/HTTP PUT」を参照してください。 |
| リクエストヘッダー |
リクエストヘッダーを指定します。キーとバリューの組み合わせで指定します。 「Bearerトークン認証」や「Basci認証」などのように、Web APIによっては追加のリクエストヘッダーが必要な場合があります。このプロパティは、そのような場合に使用します。 以下は、「Bearerトークン認証」を指定した例です。
|
使用例
ここでは、Google Books APIsを使って書籍の検索を行う例を紹介します。
Google Books APIsは、Googleが提供する、書籍情報を取得するためのAPIです。このAPIを使うことで、書籍の検索や詳細情報の取得が簡単に行えます。
Google Books APIsへのリクエストは、HTTP GETメソッドを使います。以下は、BigQueryをタイトルに含む日本語の書籍を検索するためのリクエストURLの例です。
https://www.googleapis.com/books/v1/volumes?q=intitle:BigQuery&langRestrict=ja
このURLでは、以下のクエリーパラメーターを指定しています。
| クエリーパラメーター | 説明 |
|---|---|
q |
検索する単語を指定します。この例では、「 |
langRestrict |
言語を指定します。この例では、 |
これを「HTTP GET」ブロックで実現すると以下のようになります。
設定するプロパティと指定値は以下のとおりです。
| プロパティ | 指定値 |
|---|---|
| URL |
|
| クエリーパラメーター |
キーに |
| レスポンスを格納する変数 |
|
Google Books APIsからのレスポンスは、JSON形式で返されます。以下は、レスポンスの例です。
例:
{
"kind": "books#volumes",
"totalItems": 3,
"items": [
{
"kind": "books#volume",
"id": "F0CbBwAAQBAJ",
"etag": "HZAaVgaUyWY",
"selfLink": "https://www.googleapis.com/books/v1/volumes/F0CbBwAAQBAJ",
"volumeInfo": {
"title": "Google BigQueryではじめる自前ビッグデータ処理入門",
"authors": [
"清野克行"
],
"publisher": "秀和システム",
"publishedDate": "2014-09",
"description": "ビッグデータの蓄積や分析には、外部ベンダーに依頼したり、本格的なプログラム開発が必要...?ではありません!本書では、WebブラウザやExcelを使って、誰でもビッグデータを蓄積したり、分析したりする方法を紹介します。もちろん、プログラム開発でより本格的な一歩を踏み出すための方法も紹介。",
"industryIdentifiers": [
{
"type": "ISBN_13",
"identifier": "9784798041872"
},
{
"type": "ISBN_10",
"identifier": "4798041874"
}
],
"readingModes": {
"text": false,
"image": true
},
"pageCount": 229,
"printType": "BOOK",
"maturityRating": "NOT_MATURE",
"allowAnonLogging": false,
"contentVersion": "preview-1.0.0",
"panelizationSummary": {
"containsEpubBubbles": false,
"containsImageBubbles": false
},
"imageLinks": {
"smallThumbnail": "http://books.google.com/books/content?id=F0CbBwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
"thumbnail": "http://books.google.com/books/content?id=F0CbBwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api"
},
"language": "ja",
"previewLink": "http://books.google.com.tw/books?id=F0CbBwAAQBAJ&printsec=frontcover&dq=intitle:BigQuery&hl=&cd=1&source=gbs_api",
"infoLink": "http://books.google.com.tw/books?id=F0CbBwAAQBAJ&dq=intitle:BigQuery&hl=&source=gbs_api",
"canonicalVolumeLink": "https://books.google.com/books/about/Google_BigQuery%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E8%87%AA%E5%89%8D%EF%BE%8B.html?hl=&id=F0CbBwAAQBAJ"
},
"saleInfo": {
"country": "TW",
"saleability": "NOT_FOR_SALE",
"isEbook": false
},
"accessInfo": {
"country": "TW",
"viewability": "PARTIAL",
"embeddable": true,
"publicDomain": false,
"textToSpeechPermission": "ALLOWED",
"epub": {
"isAvailable": false
},
"pdf": {
"isAvailable": true,
"acsTokenLink": "http://books.google.com.tw/books/download/Google_BigQuery%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E8%87%AA%E5%89%8D%EF%BE%8B-sample-pdf.acsm?id=F0CbBwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
},
"webReaderLink": "http://play.google.com/books/reader?id=F0CbBwAAQBAJ&hl=&source=gbs_api",
"accessViewStatus": "SAMPLE",
"quoteSharingAllowed": false
},
"searchInfo": {
"textSnippet": "ビッグデータの蓄積や分析には、外部ベンダーに依頼したり、本格的なプログラム開発が必要...?ではありません ..."
}
},
{
"kind": "books#volume",
"id": "SXzlDwAAQBAJ",
"etag": "/GTB/99umYI",
"selfLink": "https://www.googleapis.com/books/v1/volumes/SXzlDwAAQBAJ",
"volumeInfo": {
"title": "GoogleCloudPlatform実践ビッグデータ分析基盤開発ストーリーで学ぶGoogleBigQuery",
"authors": [
"トップゲート"
],
"publisher": "秀和システム",
"publishedDate": "2019-12",
"description": "Googleが社内データ分析基盤を一般提供したサービス、GigQuery(ビッグクエリ)の基礎から応用までを学びます。",
"industryIdentifiers": [
{
"type": "ISBN_13",
"identifier": "9784798059563"
},
{
"type": "ISBN_10",
"identifier": "4798059560"
}
],
"readingModes": {
"text": false,
"image": true
},
"pageCount": 241,
"printType": "BOOK",
"maturityRating": "NOT_MATURE",
"allowAnonLogging": false,
"contentVersion": "preview-1.0.0",
"panelizationSummary": {
"containsEpubBubbles": false,
"containsImageBubbles": false
},
"imageLinks": {
"smallThumbnail": "http://books.google.com/books/content?id=SXzlDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
"thumbnail": "http://books.google.com/books/content?id=SXzlDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api"
},
"language": "ja",
"previewLink": "http://books.google.com.tw/books?id=SXzlDwAAQBAJ&printsec=frontcover&dq=intitle:BigQuery&hl=&cd=2&source=gbs_api",
"infoLink": "http://books.google.com.tw/books?id=SXzlDwAAQBAJ&dq=intitle:BigQuery&hl=&source=gbs_api",
"canonicalVolumeLink": "https://books.google.com/books/about/GoogleCloudPlatform%E5%AE%9F%E8%B7%B5%EF%BE%8B%EF%BE%9E%EF%BD%AF%EF%BD%B8%EF%BE%9E.html?hl=&id=SXzlDwAAQBAJ"
},
"saleInfo": {
"country": "TW",
"saleability": "NOT_FOR_SALE",
"isEbook": false
},
"accessInfo": {
"country": "TW",
"viewability": "PARTIAL",
"embeddable": true,
"publicDomain": false,
"textToSpeechPermission": "ALLOWED",
"epub": {
"isAvailable": false
},
"pdf": {
"isAvailable": true,
"acsTokenLink": "http://books.google.com.tw/books/download/GoogleCloudPlatform%E5%AE%9F%E8%B7%B5%EF%BE%8B%EF%BE%9E%EF%BD%AF%EF%BD%B8%EF%BE%9E-sample-pdf.acsm?id=SXzlDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
},
"webReaderLink": "http://play.google.com/books/reader?id=SXzlDwAAQBAJ&hl=&source=gbs_api",
"accessViewStatus": "SAMPLE",
"quoteSharingAllowed": false
},
"searchInfo": {
"textSnippet": "Googleが社内データ分析基盤を一般提供したサービス、GigQuery(ビッグクエリ)の基礎から応用までを学びます。"
}
},
{
"kind": "books#volume",
"id": "nMofEAAAQBAJ",
"etag": "BcIiSW9CqSY",
"selfLink": "https://www.googleapis.com/books/v1/volumes/nMofEAAAQBAJ",
"volumeInfo": {
"title": "集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析",
"authors": [
"木田和廣"
],
"publisher": "インプレス",
"publishedDate": "2021-02-19",
"description": "データ分析のためのSQLが最速で身につく! 昨今では、ノンエンジニアのビジネスパーソンでも、CRMの顧客情報、EC・実店舗の注文ログ、Webサイトの行動ログなどの大量のデータを入手し、分析する機会が増えました。その結果、Excelだけでは集計・分析が困難になるケースも生まれています。 本書は、データの抽出・整形に用いられる言語「SQL」について、プログラミング未経験でも取り組める入門書です。Googleアカウントがあればすぐに利用でき、実務にもそのまま使える「BigQuery」をSQLの学習・実行環境として解説しています。 本書のゴールは、データ分析の実務に使えるSQLのスキルをマスターした状態です。そのため、初心者向けでありながら、難易度の高い「分析関数」(ウィンドウ関数)についても解説しています。データベースの管理やメンテナンスについては省き、データ分析に関連する内容に絞りました。 SQLの学習は、実際に手を動かすことが重要です。本書では、ビジネスシーンを意識した計230問のドリルと演習用ファイルを用意しています。ドリルで知識を定着させることで、実務に自信を持って取り組めるようになります。 発行:インプレス",
"industryIdentifiers": [
{
"type": "ISBN_13",
"identifier": "9784295010746"
},
{
"type": "ISBN_10",
"identifier": "429501074X"
}
],
"readingModes": {
"text": false,
"image": false
},
"pageCount": 481,
"printType": "BOOK",
"categories": [
"Business & Economics"
],
"maturityRating": "NOT_MATURE",
"allowAnonLogging": false,
"contentVersion": "preview-1.0.0",
"panelizationSummary": {
"containsEpubBubbles": false,
"containsImageBubbles": false
},
"imageLinks": {
"smallThumbnail": "http://books.google.com/books/content?id=nMofEAAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api",
"thumbnail": "http://books.google.com/books/content?id=nMofEAAAQBAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api"
},
"language": "ja",
"previewLink": "http://books.google.com.tw/books?id=nMofEAAAQBAJ&dq=intitle:BigQuery&hl=&cd=3&source=gbs_api",
"infoLink": "http://books.google.com.tw/books?id=nMofEAAAQBAJ&dq=intitle:BigQuery&hl=&source=gbs_api",
"canonicalVolumeLink": "https://books.google.com/books/about/%E9%9B%86%E4%B8%AD%E6%BC%94%E7%BF%92_SQL%E5%85%A5%E9%96%80_Google_BigQuery.html?hl=&id=nMofEAAAQBAJ"
},
"saleInfo": {
"country": "TW",
"saleability": "NOT_FOR_SALE",
"isEbook": false
},
"accessInfo": {
"country": "TW",
"viewability": "NO_PAGES",
"embeddable": false,
"publicDomain": false,
"textToSpeechPermission": "ALLOWED",
"epub": {
"isAvailable": false
},
"pdf": {
"isAvailable": true
},
"webReaderLink": "http://play.google.com/books/reader?id=nMofEAAAQBAJ&hl=&source=gbs_api",
"accessViewStatus": "NONE",
"quoteSharingAllowed": false
},
"searchInfo": {
"textSnippet": "データ分析のためのSQLが最速で身につく! 昨今では、ノンエンジニアのビジネスパーソンでも、CRMの顧客情報、EC・実店舗の注文ログ、Webサイトの行動ログなどの大量のデータを ..."
}
}
]
}
このレスポンスは、先ほどの「HTTP GET」ブロックの「レスポンスを格納する変数」プロパティの指定で、responseという名前の変数に格納されます。
この使用例では、変数に格納されたレスポンスをBigQueryテーブルに格納します。
変数に格納されたデータをBigQueryテーブルに格納するには、BigQueryカテゴリーの「変数からテーブルへロード」ブロックを使用します。使用例は、以下のとおりです。
設定するプロパティと指定値は以下のとおりです。
| プロパティ | 指定値 |
|---|---|
| 投入データの変数 |
検索結果は、レスポンスデータのitems配列内に列挙されているので、 |
| 投入先のデータセット |
レスポンスデータ格納用のBigQueryデータセットを指定します。 |
| 投入先のテーブル |
レスポンスデータ格納用のBigQueryテーブルを指定します。 |
| スキーマ設定 |
スキーマ設定用JSONファイルをダウンロードし、ファイル内容を「JSONで編集」をクリックして貼り付けます。 |
この2つのブロックを組み合わせると、書籍を検索しその結果をBigQueryに格納するフローの完成です。