Google Places APIでレビューを取得してみる

# 概要
Google Places APIを使ったレビュー情報の取得を行う機会があったので、設定と手順をメモしておく。
API呼び出しを行い、結果を確認するまでを記載。

以下の流れで実施

* Googleアカウント登録
* API設定
 * GCP(Google Cloud Platform)にアクセス
 * プロジェクトの作成
 * Places APIを有効にする
 * APIキー作成
 * 請求先の設定
* API呼び出し(VSCodeのREST Client)

# 手順
## 1.Googleアカウント登録

[アカウント作成はこちら](https://www.google.com/accounts/NewAccount?hl=ja)

## 2.APIの設定

### 2.1 GCP(Google Cloud Platform)にアクセス
Googleにログインした状態で、[Google Cloud Platform](https://console.cloud.google.com/?hl=ja)にアクセスする。

![スクリーンショット 2021-04-09 0.19.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/2ae6154e-f95c-b3a5-2ddc-c6cceaa2b2f6.png)



### 2.2 プロジェクトの作成
左メニュー > APIとサービス > ダッシュボードを選択。

![スクリーンショット 2021-04-09 0.20.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/24811a60-69ab-8fdd-0967-c2f67aab4eb1.png)

「プロジェクトの作成」のリンクを選択。
![スクリーンショット 2021-04-09 0.21.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/98364d44-ee87-5ef1-0d9e-4cb4765e3d81.png)

プロジェクト名を入力して「作成」ボタンを押す。
![スクリーンショット 2021-04-09 0.23.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/5334f5c3-6620-d863-e090-a6a91aa131bb.png)

これでプロジェクトが作成される。

### 2.3 Places APIを有効にする
左メニューの「ライブラリ」を選択。
![スクリーンショット 2021-04-09 0.25.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/5d63749b-f5ec-14ea-77e7-c100b5b9428d.png)

Places APIを検索。
![スクリーンショット 2021-04-09 0.27.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/0d91a143-4f8b-13fe-2624-dcb0ce5ff317.png)

Places APIを選択し、「有効化にする」ボタンを押す。
![スクリーンショット 2021-04-09 0.29.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/23dc9d76-fc03-8a2a-85c2-857362bcea53.png)

左メニューのAPIを選択し、有効なAPIにPlaces APIがセットされているのを確認する。
![スクリーンショット 2021-04-09 0.30.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/a54e55eb-f083-398d-a959-1f3094050c2e.png)

### 2.4 APIキー作成

TOPから左メニューの APIとサービス > 認証情報を選択。
![スクリーンショット 2021-04-09 0.37.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/fe9e29e6-dbe2-556c-9ab6-95b49c0a7b1e.png)

認証情報作成を押して、APIキーを選択。
![スクリーンショット 2021-04-09 0.35.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/3a991820-a97e-e843-69dc-f37a3572e826.png)

APIキーが生成される。
![スクリーンショット 2021-04-09 0.41.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/5f9fd6cb-82a7-c459-f15c-002e99f92e48.png)

続いて「キーの制限」を選択後、Plases APIでのみ利用可能にするため、
APIの制限のSelectBoxから、「Plases API」をチェックしてOKする。

![スクリーンショット 2021-04-09 0.49.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/5267c78c-1bf0-9327-be83-ea8081edd835.png)

### 2.5 請求先の設定
お支払いを選択し、請求先アカウントを紐付ける。
![スクリーンショット 2021-04-09 1.42.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/12afa417-c407-75ce-d260-31180eae91dd.png)

請求先アカウントをリンクを選択。
![スクリーンショット 2021-04-09 1.43.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/76cc0381-172d-72b0-ee3e-a1d50166e220.png)

請求先アカウントを追加する。
![スクリーンショット 2021-04-11 1.11.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/46f7129f-a25f-e63f-70ee-363f2b5635c4.png)

クレジットカードの入力等を実施して支払いの登録を行う。
![スクリーンショット 2021-04-11 1.14.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/5ce3bd38-0617-a01d-121f-3c67b7cca541.png)

支払いの紐付けが完了すると、APIが利用できるようになるはず。


## 3. API呼び出し(VSCodeのREST Client)

以下の記事をもとに、APIを呼び出してレビュー情報を取得してみる

https://developers.google.com/maps/documentation/places/web-service/details

```xxx.http
GET https://maps.googleapis.com/maps/api/place/details/json
?placeid=xxxxxx
&key={手順2で設定したキー}
&fields=reviews
&language=ja
```

placeidはこちらから取得。

https://developers.google.com/maps/documentation/places/web-service/place-id

### VSCodeのREST Clientを使った場合のイメージ
![スクリーンショット 2021-04-22 0.57.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/248644/ded56802-38fd-7577-f9ec-544a26fd1fc7.png)

### 結果イメージ
５件まで取得可能

```html
# ステータス
HTTP/1.1 200 OK

# Headers情報
Content-Type: application/json; charset=UTF-8
Date: Wed, 21 Apr 2021 15:43:32 GMT
Expires: Wed, 21 Apr 2021 15:48:32 GMT
Content-Encoding: gzip
Server: scaffolding on HTTPServer2
Content-Length: 2949
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Server-Timing: gfet4t7; dur=197
Cache-Control: public, max-age=300
Age: 168
Alt-Svc: h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
Connection: close


# Body情報
{
  "html_attributions": [],
  "result": {
    "reviews": [
      {
        "author_name": "xxxxx",
        "author_url": "https://www.google.com/maps/xxxxxx/reviews",
        "language": "ja",
        "profile_photo_url": "https://xxxx",
        "rating": 5,
        "relative_time_description": "過去 1 週間以内",
        "text": "xxxxxxx"
        "time": xxxxx
      },
      {
        :
        :
      },
      {
        :
      }
    ]
  },
  "status": "OK"
}
```

これで指定したplaceidのレビュー情報が取得できた。