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