2016-08-24 11 views
1

を使用せずにメッセージを送信:私は、ウェブサイト上のフォームからAPIリクエストをテストしていた https://developers.google.com/gmail/api/v1/reference/users/messages/send#examplesGmailのAPIは、私は、このインタフェースを使用していますBase64でエンコード

TUlNRS1WZXJzaW9uOiAxLjANClJlY2VpdmVkOiBieSAxMC4xOTQuNjguMjI3IHdpdGggSFRUUDsgV2VkLCAyNCBBdWcgMjAxNiAwMjo1OToxNyAtMDcwMCAoUERUKQ0KRGF0ZTogV2VkLCAyNCBBdWcgMjAxNiAxMTo1OToxNyArMDIwMA0KRGVsaXZlcmVkLVRvOiBrcnVub0B1bGl4dHJhdmVsLmNvbQ0KTWVzc2FnZS1JRDogPENBSzB5QmZZeEgwS1dGbng2TzNfZ3ZNRkxtVlB5RVY9NjdnQW5qRWdPaHIzSGZOTkJCUUBtYWlsLmdtYWlsLmNvbT4NClN1YmplY3Q6IFRoaXMgaXMgYSBzdWJqZWN0DQpGcm9tOiBLcnVub3NsYXYgVUxJWFRyYXZlbCA8a3J1bm9AdWxpeHRyYXZlbC5jb20-DQpUbzogS3J1bm9zbGF2IEJhbm92YWMgPGt1bm9rZGV2QGdtYWlsLmNvbT4NCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L2FsdGVybmF0aXZlOyBib3VuZGFyeT0wNDdkN2JhZTQ5NjRhMmQ3MzAwNTNhY2U1NWUxDQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMQ0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQoNClRoaXMgaXMgYSBib2R5DQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMQ0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgNCg0KPGRpdiBkaXI9Imx0ciI-VGhpcyBpcyBhIGJvZHk8YnI-PC9kaXY-DQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMS0t 

どのように私の代わりにメールを送信する(例えば、件名、送信者、reciver、メッセージ本文など)の基本的なパラメータを使用してください:それは、次のような生のBase64でエンコードされた文字列を必要としますか?

答えて

2

前述のように、最初にFromSubjectのようなヘッダーでメッセージを作成しますが、送信する前にメッセージをエンコードする必要があります。その周りに方法はありません。

次はjQueryのを使用して、JavaScriptでの例です:

// Base64-encode the mail and make it URL-safe 
// (replace all "+" with "-" and all "/" with "_") 
var encodedMessage = btoa([ 
    "From: [email protected]\r\n", 
    "To: [email protected]\r\n", 
    "Subject: Subject of the message\r\n\r\n", 

    "This is the text of the message" 
].join("")).replace(/\+/g, '-').replace(/\//g, '_'); 

$.ajax({ 
    method: "POST", 
    url: "https://www.googleapis.com/gmail/v1/users/me/messages/send?access_token={access_token}", 
    contentType: "application/json", 
    data: JSON.stringify({   
    raw: encodedMessage 
    }) 
}); 
+0

しかし、我々はこれらの文字を交換する必要がありますなぜ私は理解していませんか? ( '+'から '-'など...) – Kunok

+1

これは、url safeと呼ばれるbase64エンコーディングの形式です。いくつかの文字は安全に転送できないため、時には必要になります。 [この回答](http://stackoverflow.com/questions/1374753/passing-base64-encoded-strings-in-url)はいくつか説明しているかもしれません。 – Tholle

+0

端末から実行されたNode.jsに使用される場合、https://developers.google.com/gmail/api/v1/reference/users/messages/send#examples legitのJavaScriptコード例'node script.js'として? – Kunok

関連する問題