myThings で Google のサービスを使用する

Yahoo の Webサービス? myThings で遊んでみてます。
「トリガー」「ロジック」「アクション」でソリューションを組み立てる。
ゲーム感覚で遊べてなかなか面白い。
https://mythings-developers.yahoo.co.jp/

で、いつも Google のサービスを利用するのにひっかかるのでメモしておく。

目標

Youtube に「Guilty Gear Xrd Rev2」の動画がアップされたら(トリガー)
GMail にメールを送信する(アクション)
さらに、GoogleDriveにテキストファイルを作成する(アクション)

Google API を有効にする

今回使うのは、

  • YouTube Data API v3
  • Gmail API
  • Google Cloud Storage

の3つ。

まず、Google API Console にアクセス。

https://console.developers.google.com/?hl=ja

 

Project を作る

最初にアクセスすると Project を作ることになる。
ここではとりあえず「myThingsTest」とした。

OAuthを有効にする

「認証情報」から「認証情報を作成」する。
認証の種類は「OAuth」を選択。

次へ行こうとすると「サービス名を設定せよ」と怒られるのでそのようにする。
ここでは「hogehoge」とした。

アプリケーションの種類は「Webアプリケーション」とする。
名前は「Yahoo myThings」とした。
承認済みのリダイレクトURI には、このAPIにアクセスできるURLを指定する。
そのURLは myThings でいうところの「コールバックURL」である。

myThings側のここを確認して、アクションごとのコールバックURLを設定していく。
面倒くさければ「https://mythings-developers.yahoo.co.jp/*」でもいいかもしれない。

API を有効にしていく

リストから探すか検索して、下記の3つのAPIを有効にする。
警告が出ることもあるが、とりあえずここでは無視。

  • YouTube Data API v3
  • Gmail API
  • Google Cloud Storage

追加し終わったらリストで確認。

myThings側に設定を入れていく

「トリガ」か「アクション」の設定メニューから「API詳細設定」を選択して、以下のように入力。

「API Key」→「クライアント ID」
「シークレット」→「クライアント シークレット」

それから、アクションの中身も忘れずに設定。
今回はYoutubeトリガに「xrd rev2」というキーワードを含む動画がアップされたら、
GMailトリガで自分あてに動画情報をメールするように設定。
さらに、GoogleDriveに同じ内容のテキストファイルを作成するように設定。

テスト

認証情報とアクションの内容を設定し終わったら myThings から「テスト」する。
テストを開始すると、事前に認証が求められるので、これを自分のGoogleアカウントで許可する。
3つとも認証してからテスト実施。うまくいけば完了。

OAuthの設定をしてから反映されるまで10分くらいかかる場合があるみたい。

 

追記

GMail と GoogleDrive でエラーが出て認証が通らない。

一部のスコープへのアクセス権限がありません。このプロジェクトは、確認プロセスを完了するために必要な次のスコープにアクセスしようとしています

はぁ?って感じだけど、要するにスパム開発者が多いから厳しくしたよ、って感じかな。

解決策はこちらを参考にさせて頂いた。

Google OAuth2.0 認証のポリシーが変わったらしい(2017/05/11発表)
http://qiita.com/iuvo-duo/items/e5e9563d11aac164d0a6

 

プログラミングの裾野を広げようとする一方で、こういう初心者殺しの罠とかあったりしてハードルが上がってる気がする。
自分にしか使えないってスコープがあれば済む話なような気がするけどなぁ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です