人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Google スプレッドシートに外部からの情報を取り込むためにいろいろな関数が用意されているようです。feedは、=IMPORTFEED("http://www.oxox.xoxo=rss","items summary")で取り込めるのですが、JSON型式で取り込む方法がわかりません。
ご存じの方がいらしたらご教示いただけませんか?
もし、JSON型式で取り込めない場合は、何かを経由して取り込むことはできませんでしょうか?


●質問者: ozaki
●カテゴリ:インターネット ウェブ制作
✍キーワード:Google JSON SUMMARY スプレッドシート 関数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●50ポイント

既存の関数を使ってお手軽に、ということだとちょっとズレているかも知れませんが…。

GoogleスプレッドシートではGoogleAppsScriptというものが使えます。これはJavascriptで記述でき、上手く活用すれば色々なことが出来ます。

実際にJSONを取得してセルに表示出来ることを確認してみました。↓こんな感じです。

  1. ツール>スクリプトからスクリプトエディタを起動します
  2. 欲しい関数をJavascriptで記述します
  3. スクリプトを保存します
  4. 自作関数がスプレッドシート内で使えるようになります

Google Apps Script - Google Apps Script - Google Code

◎質問者からの返答

ご回答、ありがとうございます。丁寧に説明していただいて、たいへんありがとうございます。ただ、私自身がこの手の技術に暗いため、再度質問させてください。

具体的には、http://pipes.yahoo.com/pipes/pipe.run?_id=5722e3cb5590f38899c626... で呼び出した情報をスプレッドシートに取り込みたいのですが、例えば、title 部分をある列に取り込むためには、どのようなプログラムを書くのでしょうか?

具体的に教えていただけますと、たいへん助かります。


2 ● y-kawaz
●50ポイント ベストアンサー

前回答の手順2のところで以下のコードを貼り付けて保存し、

function getJsonValueTitle(url) {
 var res = UrlFetchApp.fetch(url);
 var json = Utilities.jsonParse(res.getContentText());
 return json.value.title;
}

セルに以下のように書けば、取得したJSONのvalue.titleが表示されます。

=getJsonValueTitle("http://pipes.yahoo.com/pipes/pipe.run?_id=5722e3cb5590f38899c626...")

◎質問者からの返答

たいへんありがとうございます。実行してみたところ見事に取り込むことができました。ただ、http://pipes.yahoo.com/pipes/pipe.run?_id=5722e3cb5590f38899c626... には、複数の情報があり、それぞれ「title description pubDate content」の次に具体的な記載があります。

上記をある列には、「title」のみ取り込み(任意の複数行となります)、違う列には「description」(これも任意の複数行になります)のみ取り込みたいのです。

ちょうど、ある列に =IMPORTFEED("http://pipes.yahoo.com/pipes/pipe.run?_id=5722e3cb5590f38899c626...","items url") を実行して、ある列のみ複数行に取り込むイメージです(この場合はurlです)。

たいへんお手数ですが、具体的なプログラムを書いていただいて、助けていただけますか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ