2016-08-24 7 views
1

sendet ich diese Schnittstelle bin mit: https://developers.google.com/gmail/api/v1/reference/users/messages/send#examplesGmail API-Nachricht ohne die Verwendung von Base64 kodieren

ich API-Anfrage aus dem Formular auf der Website zu testen wurde. Es erfordert rohe Base64-codierte Zeichenfolge wie:

TUlNRS1WZXJzaW9uOiAxLjANClJlY2VpdmVkOiBieSAxMC4xOTQuNjguMjI3IHdpdGggSFRUUDsgV2VkLCAyNCBBdWcgMjAxNiAwMjo1OToxNyAtMDcwMCAoUERUKQ0KRGF0ZTogV2VkLCAyNCBBdWcgMjAxNiAxMTo1OToxNyArMDIwMA0KRGVsaXZlcmVkLVRvOiBrcnVub0B1bGl4dHJhdmVsLmNvbQ0KTWVzc2FnZS1JRDogPENBSzB5QmZZeEgwS1dGbng2TzNfZ3ZNRkxtVlB5RVY9NjdnQW5qRWdPaHIzSGZOTkJCUUBtYWlsLmdtYWlsLmNvbT4NClN1YmplY3Q6IFRoaXMgaXMgYSBzdWJqZWN0DQpGcm9tOiBLcnVub3NsYXYgVUxJWFRyYXZlbCA8a3J1bm9AdWxpeHRyYXZlbC5jb20-DQpUbzogS3J1bm9zbGF2IEJhbm92YWMgPGt1bm9rZGV2QGdtYWlsLmNvbT4NCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L2FsdGVybmF0aXZlOyBib3VuZGFyeT0wNDdkN2JhZTQ5NjRhMmQ3MzAwNTNhY2U1NWUxDQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMQ0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQoNClRoaXMgaXMgYSBib2R5DQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMQ0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgNCg0KPGRpdiBkaXI9Imx0ciI-VGhpcyBpcyBhIGJvZHk8YnI-PC9kaXY-DQoNCi0tMDQ3ZDdiYWU0OTY0YTJkNzMwMDUzYWNlNTVlMS0t 

Wie ich stattdessen grundlegende Parameter (wie Betreff, Absender, reciver, Nachrichtentext) verwenden, um Mail zu senden?

Antwort

2

Sie erstellen zuerst die Nachricht mit Kopfzeilen wie From und Subject wie Sie erwähnt, aber Sie müssen die Nachricht vor dem Senden codieren. Es gibt keinen Weg dahin.

Das Folgende ist ein Beispiel in JavaScript, mit der Verwendung von JQuery:

// 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

Aber ich verstehe nicht, warum wir diese Zeichen ersetzen müssen? ('+' zu '-', etc ...) – Kunok

+1

Es ist eine Form der Base64-Codierung namens URL sicher. Es wird manchmal benötigt, da einige Zeichen nicht sicher übertragen werden können. [Diese Antwort] (http://stackoverflow.com/questions/1374753/passing-base64-encoded-strings-in-url) könnte es einige erklären. – Tholle

+0

Darf ich Sie fragen, ist JavaScript-Code Beispiel von https://developers.google.com/gmail/api/v1/reference/users/messages/send#examples legit, wenn für Node.js verwendet wird, die vom Terminal wie ausgeführt wird als 'Knoten script.js'? – Kunok

Verwandte Themen