質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

1857閲覧

チャットルームのファイルリストを取得したい

MoskaPaska

総合スコア15

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2019/06/29 12:36

実現したいこと

gasとChatWorkAPIを使って、
チャットルームにアップロードされたファイル名のリストをスプレッドシートに出力したいです。

発生している問題

リストを出力しても「undefined」という値が出力されるだけで、 ファイル名が取得できません。

該当のソースコード

gas

1var ChatWorkToken = "APIトークン"; 2var SHEETNAME = "シート1"; 3var url = "https://api.chatwork.com/v2/rooms/ルームID/files?account_id=アカウントID"; 4var sheet = SpreadsheetApp.getActive().getSheetByName( 'シート1' ); 5 6function getfilelist(){ 7 var params = { 8 headers : {"X-ChatWorkToken" : ChatWorkToken }, 9 method : "get" 10 }; 11 var strRespons = UrlFetchApp.fetch(url, params); 12 var json = JSON.parse(strRespons.getContentText()); 13 14 for each(var obj in json){ 15 sheet.appendRow([obj.name, obj.account_id]); 16 Logger.log(obj.name); 17 Logger.log(obj.account_id); 18 } 19} 20

解決法が載ってる参考サイトを教えていただけるだけでも大丈夫です。
初心者で何が問題なのかも分かりません。
どうぞ宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

sheet.appendRow([obj.filename, obj.account.account_id]);

後で見る用メモ

投稿2019/06/29 12:50

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2019/06/29 12:51

ファイル名がほしいのにクエリパラメータで指定したアカウントidを書くっていうのは要件として理解できないです
MoskaPaska

2019/06/29 12:55

解答ありがとうございます! 無事リストが取得できました。 アカウントIDを書いたのは誰がアップロードしたものなのかを記載したくて書きました。 ホントはアカウント名を載せたかったので、IDで紐づけてリストに表示できるようにしたいと思います。
MoskaPaska

2019/06/29 13:33

やってみて気付いたのですが、公式に「チャットのファイル一覧を取得」と書いてあるのに、 実際は各ユーザーのストレージフォルダの中身を表示できるというものでした。 やりたかったのは、過去から現在までにチャットルームにアップロードされた、 ファイル名一覧を取得したかったんですが・・・ 残念。
papinianus

2019/06/30 15:01

アカウントidを書くのがわからないというのはそういう意味じゃないです。2つ目のコメントのような事態になることを懸念してました。 ルームを指定しているので、ユーザのストレージとはまた違うはずです。 urlの末尾でaccount_id=アカウントIDとしているのですからそのユーザのファイルしか取れないのは当然です。 つまり、自分で事前にidで作成者を絞っていて、その人のファイルしか取れないようにしたのに、そのid(既に知っていて全部同じになるとわかっているもの)をシートに出すのは前提となるデータやコードがなければ到底理解できません。 あと、このapiで直前ユーザ名が取れるので、ユーザ名が欲しいからidを取るというのも全く理解ができないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問