GASで指定したツイートにリプライを送信する方法を教えてください。
解決したいこと
ツイッター上で指定したつぶやき(スレッド)に対して、
登録したメッセージ(randomMsg)を送信したいです。
例)
現在GASを使用して、ツイッターの自動リプライ機能を持った
関数を作成したいと考えています。スプレッドシート/GAS/Twitter API
での作成です。
発生している問題・エラー
let options = {
method :"post",
payload :payload
};
let response = twitterService.fetch(url,options);
tw_id = JSON.parse(response).id_str;
Logger.log(tw_id);
このスクリプトでは、自分のタイムラインにツイートがされますが
指定したツイートへ返信することが出来ません。
let ss_msg = SpreadsheetApp.getActiveSpreadsheet();
let sheet_msg = ss_msg.getSheetByName("メッセージ");
let lastRow = sheet_msg.getLastRow();
let re_id = sheet.getRange("O17").getValue(); ←re_idのO17は別scriptから取得したものです
Logger.log(re_id);
if(twitterService.hasAccess()){
let url = "https://api.twitter.com/1.1/statuses/update.json"
let reply_text = randomMsg();
let payload = {status :reply_text,in_reply_to_status_id :re_id}
let options = {
method :"post",
payload :payload
};
let response = twitterService.fetch(url,options);
tw_id = JSON.parse(response).id_str;
Logger.log(tw_id);
}else{
Logger.log(service.getLastError());
}
};
const randomMsg = () => {
let count = lastRow -1;
//メッセージ数のカウント
let message_list = sheet_msg.getRange(2,1,count,1).getValues();
//スプレッドシートから取得
Logger.log(message_list);
//取得リストを配列で出来てるか確認
let random_row = Math.ceil(Math.random()*(count-1));
//Mathメソッドで乱数を作成ceilで繰り上げ
該当するソースコード
GAS,Javascript
自分で試したこと
リプライするには、
①status :でメッセージの登録。
②in_reply_to_status_id :を使用してツイート先のID指定が必要だということ。
を調べたのですが、ツイートIDの取得方法がわかりません。
get Timeline で、つぶやきに対するuserリストを取得致しました。
let user = array["statuses"][i]["user"];
let id_str = (user["id_str"]);
id_strを指定しても、認証されず
自分のタイムラインに呟くだけで、
指定したスレッド(ツイートした内容への返信)に飛ばない状態です。
この状態を、指定したツイートへの返信にしたいです。
どなたかご教授いただけましたら幸いです。
0