2017-04-26 31 views
0

このSO threadを見て、UrlFetchAppを使用してファイルをアップロードしました。
また、SO threadという文字列をファイルとしてPython 要求(ファイルを持たずに、または一時ファイルを作成せずに)に投稿するのを見ました。Googleスプレッドシートスクリプト:UrlFetchAppファイルをアップロードする文字列

文字列をGoogle Spreadsheet Scriptでファイルとして送信したいと思っています。上の2つのスレッドに基づいて、私はGoogleドライブに一時ファイルを作成せずにそれを行うことができるはずです。

私の質問は、Googleスプレッドシートのスクリプトで、文字列がファイルから来ていて、それをUrlFetchAppに渡すことができますか?ここで

は、私が働いているベースのコードです:ここで

var string = 'test'; 
    var url = "https://api.telegram.org/.../sendDocument"; 

    var chat_id = "12345"; 

    var data = {'chat_id': chat_id, 
       'text':text} ; 

    var headers = { "Accept":"application/json", 
        "Content-Type":"application/json" 
       }; 

    var options = { "method":"POST", 
       "headers": headers, 
       "payload" : payload 
       }; 

    var response = UrlFetchApp.fetch(url, options); 
+1

文字列から[new blob](https://developers.google.com/apps-script/reference/utilities/utilities#newBlob(Byte、String))を作成し、それをファイルとして渡すことができますあなたの最初の投稿に。しかし、あなたが呼び出しているサービスのAPIドキュメントをチェックする必要があります。どのようにファイルを送信するかを調べるには、URL取得のリクエストで –

+0

@JackBrownありがとう!あなたのコメントは本当に役に立ちました。私はそれを機能させることができました。以下の答えを投稿してください。 – apadana

答えて

1

は私が右のファイルなどの文字列を投稿するためにそれを得た方法である:

var url = "https://api.telegram.org/.../sendDocument"; 
var blob = Utilities.newBlob('Test!', 'text/plain', 'report.txt'); 
var data = { 
    'chat_id' : '12345', 
    'document': blob 
}; 
    var options = { 
    'method' : 'POST', 
    'payload' : data, 
}; 

UrlFetchApp.fetch(url, options); 

@Jackブラウンからコメントするおかげで、 google developer exampleブロブをポストする(例:フォームデータでPOSTリクエストを作成する)。

関連する問題