回答編集履歴
1
追記
test
CHANGED
@@ -30,3 +30,61 @@
|
|
30
30
|
|
31
31
|
```
|
32
32
|
|
33
|
+
|
34
|
+
コメントにて提示いただいたコードを必要部分のみにして実行してみましたが、正常にポストされました。
|
35
|
+
```JavaScript
|
36
|
+
function tweettest() {
|
37
|
+
const twitter = getTwitterService()
|
38
|
+
|
39
|
+
if(twitter.hasAccess()) {
|
40
|
+
|
41
|
+
const endpoint2 = "https://api.twitter.com/2/tweets";
|
42
|
+
|
43
|
+
// 投稿内容の取得
|
44
|
+
var text = 'ポストテスト';
|
45
|
+
var file_name = ''; //画像ファイル名を設定
|
46
|
+
|
47
|
+
// テキスト関連
|
48
|
+
var twitterText = text; //ツイートテキストを設定
|
49
|
+
if(file_name != ""){
|
50
|
+
var file_temp = DriveApp.getFilesByName(file_name).next();//GoogleDriveから画像を取得
|
51
|
+
// 画像をアップロードできる様に(ここから)
|
52
|
+
var resp = file_temp.getBlob();
|
53
|
+
var resp_64 = Utilities.base64Encode(resp.getBytes());//Blobを経由してBase64に変換
|
54
|
+
|
55
|
+
var img_option = { 'method':"POST", 'payload':{'media_data':resp_64} };
|
56
|
+
var image_repsponse = twitter.fetch(endpoint1,img_option);
|
57
|
+
var image_result = JSON.parse(image_repsponse.getContentText());
|
58
|
+
|
59
|
+
var mediainfo = {
|
60
|
+
media_ids: [image_result['media_id_string']]
|
61
|
+
}
|
62
|
+
var payload = {
|
63
|
+
text: twitterText,
|
64
|
+
media: mediainfo
|
65
|
+
}
|
66
|
+
// 画像をアップロードできる様に(ここまで)
|
67
|
+
} else {
|
68
|
+
var payload = {
|
69
|
+
text: twitterText
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
var response = twitter.fetch(endpoint2, {
|
74
|
+
method: "post",
|
75
|
+
muteHttpExceptions: true,
|
76
|
+
payload: JSON.stringify(payload),
|
77
|
+
contentType: "application/json"
|
78
|
+
});
|
79
|
+
|
80
|
+
var result = JSON.parse(response.getContentText());
|
81
|
+
|
82
|
+
console.log(image_result + twitterText);
|
83
|
+
|
84
|
+
} else {
|
85
|
+
Logger.log(service.getLastError())
|
86
|
+
}
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
```
|