2014年4月14日月曜日

【Google Apps Script】8. Yahoo!ニューストピックスAPIで最新の動向をキャッチする

多くの人がヤフーのトップページのニューストピックスから最新情報を得ていることと思います。私もそうです。できれば効率よく、このニュースを見れればと思うので、Google Apps ScriptからトピックスAPIを使って最新トピックスを引っぱり、好きな時間やタイミングで自動的にメールに届けるようにしたいと思います。



Yahoo! JAPANトップページのトピックス部分。日々の情報収集に欠かせませんね。一日に何度か見ていると思います。






まず、APIを使うためのアプリケーションIDを取得する必要がありますので、Yahoo!デベロッパーネットワークのページの「アプリケーションの管理」メニューから申請をしてください。










リクエストURLはこのようになります。
http://news.yahooapis.jp/NewsWebService/V2/topics?appid=<アプリケーションID>&pickupcategory=top

アプリケーションIDはご自身で取得したものをappid=の後に入れてください。最後のpickupcategory=topは、Yahoo! JAPANトップページのトピックスを表示するパラメータになります。これを「エンターテインメント」などカテゴリを指定したり、「地震」など特定の検索キーワードを指定することも可能です。

【サンプルコード】

サンプルコードです。前述のようにアプリケーションIDを挿入したURLをフェッチすることをお忘れなく。

実行するとこんな感じで8本の最新ニュースが更新されます。




使っているレスポンスフィールドは5つ。

  1. 【Category】〜トピックが所属するカテゴリ(国内、海外、経済、エンターテインメント、スポーツ、コンピュータ、サイエンス、地域のいずれか)です。
  2. 【Title】〜トピックの見出しです。ない場合は表示されません。
  3. 【Overview】〜話題の単位であるトピックについての数十文字の簡単な説明です。
  4. 【HeadlineId】〜トピックの見出し(Title)に対応するIDです。
  5. 【SmartphoneUrl】〜スマートフォン最適化ページのURLです。
トピックス毎のURLがなぜかどのフィールドも完全ではなかったので、SmartphoneUrlの後にHeadlineIdをアペンドすることで対応しました。

メール送信のスクリプトはいつもの通りです。Googleスプレッドシート内でトリガーを設定します。その際に必ず更新用のスクリプト(parseXml関数)とメール送信用スクリプト(sendemail関数)の両方のトリガーを設定することを忘れないでください。






0 件のコメント:

コメントを投稿