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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Q&A

解決済

1回答

810閲覧

GASによりツイートの検索結果をスプレッドシートにまとめる方法について

DfR

総合スコア5

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

0グッド

0クリップ

投稿2020/01/11 10:41

前提・実現したいこと

Google Apps Scriptで、
Twitterで「おはよう」で検索をかけて出てきたツイート20件を、
スプレッドシートに出力する.

発生している問題・エラーメッセージ

ログ上では正常にツイートが取得されているようなのですが、スプレッドシートに出力すると
以下のような文字列が出るのみとなってしまいます.

"{statuses=[Ljava.lang.Object;@39cd9fff, search_metadata={max_id_str=1215941842706948096, next_results=?max_id=1215941820468695040&q=%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86&include_entities=1, since_id_str=0, query=%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86, count=15, max_id=1.2159418427069481E18, since_id=0, completed_in=0.057, refresh_url=?since_id=1215941842706948096&q=%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86&include_entities=1}}"

「1つのセルに入力する文字列が50000文字を超えてます」というようなエラーメッセージは実行時には
出てきていないため、文字数の問題ではないと思われるのですが。

該当のソースコード

認証などの大前提は省略いたします.

Google

1function getFavor(){ 2 var service = twitter.getService(); 3 var json = service.fetch("https://api.twitter.com/1.1/search/tweets.json?q=おはよう"); 4 var array = JSON.parse(json); 5 var ss = SpreadsheetApp.getActiveSpreadsheet(); 6 var sheet = ss.getSheetByName('シート1'); 7 8 sheet.getRange(2, 1).setValue(array) 9 10}

試したこと

Logger.log(array)でarrayの中身を確認したら以下のようになっておりました.文字数が多い為、
一部抜粋いたします。
"{statuses=[{metadata={result_type=recent, iso_language_code=ja}, in_reply_to_status_id_str=null, in_reply_to_status_id=null, coordinates=null, created_at=Sat Jan 11 10:21:41 +0000 2020, truncated=false, in_reply_to_user_id_str=null, source=<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>, retweet_count=0, retweeted=false, geo=null, in_reply_to_screen_name=null, is_quote_status=false, entities={urls=[], hashtags=[{indices=[0, 25], text=やーいお前の母ちゃんからの予測変換の暴走を見守る}], user_mentions=[], symbols=[]}, id_str=1215941842706948096, in_reply_to_user_id=null, favorite_count=0, id=1.2159418427069481E18, text=#やーいお前の母ちゃんからの予測変換の暴走を見守る
"

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

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

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

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

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

guest

回答1

0

ベストアンサー

arrayには色々なデータが入ってるので、その中でtextだけ取り出す必要があるように思います。
こちらからのコピペですが、以下を追加するとどうなりますか?
試してないので不安ですが

js

1 2var tweets = array.map(function(tweet){ 3 return tweet.text; 4 });

投稿2020/01/11 17:16

RyotaroIsoyama

総合スコア183

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

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

DfR

2020/01/12 05:12

ご回答ありがとうございます。 試してみたのですが、 "オブジェクト [object Object] で関数 map が見つかりません。" とのエラーメッセージが出てしまって実行できないようです。 タイムラインを取得するプログラムでは利用出来たのですがツイート検索では使えないようで。
RyotaroIsoyama

2020/01/12 08:58

array["text"]でもアクセスできないですか?
DfR

2020/01/13 05:23

ご返信ありがとうございます。 試してみましたがundefinedとなってしまいますね...
RyotaroIsoyama

2020/01/13 05:39

あー、array = {statuses = [{metadata=~~,...,text="hogehoge",...]} みたいな感じなんですかね。 でしたらarray.statuses.textかな、、
DfR

2020/01/13 17:52 編集

ご返信ありがとうございます。おかげさまで、 array.statuses["0~19"].textで取得したツイートそれぞれの、 文字列の取得に成功いたしました。大変お世話になり、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問