/ / स्विफ्ट में नवीनतम GMail API का उपयोग करके एक मेल कैसे डालें? - स्विफ्ट, ईमेल, गूगल-एपी

स्विफ्ट में नवीनतम जीमेल एपीआई का उपयोग कर मेल कैसे सम्मिलित करें? - तेज़, ईमेल, google-api

इसलिए वर्तमान में मेरे पास निम्नलिखित स्निपेट हैं:

var url = NSURL(string: "https://www.googleapis.com/upload/gmail/v1/users/me/messages?uploadType=media&internalDateSource=dateHeader")


var rawMessage = "" +
"Date: Thu, 25 Sep 2014 18:35:28 -0700rn" +
"From: John Appleseed <john@appleseed.com>rn" +
"To: Steve Jobs <steve@jobs.com>rn" +
"Subject: One more thingrnrn" +
"Some Message"

var rawData = rawMessage.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)

var request = NSMutableURLRequest()
request.URL = url
request.HTTPMethod = "POST"

request.setValue("Bearer (self.accessToken!)", forHTTPHeaderField: "Authorization")
request.setValue("message/rfc822", forHTTPHeaderField: "Content-Type")
request.setValue("(rawData?.length)", forHTTPHeaderField: "Content-Length")
request.HTTPBody = rawData!

if let response = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil) {
println(NSString(data: response, encoding: NSUTF8StringEncoding))
}

हालांकि यह काम करता है प्रलेखन वे पोस्ट बॉडी के साथ एक संदेश संसाधन भेजने के बारे में लिखते हैं। जो कुछ इस तरह दिखेगा:

{"raw":base64encoded(data),"labelIds":["Label_1", "Label_2"]}

हालाँकि अगर मैं रॉडेटा को उस संदेश डेटा से बदल दूंगा, तो यह काम नहीं करता है।

तो मैं एक संदेश कैसे डाल सकता हूं और इसे कुछ लेबल दूं?

उत्तर:

जवाब के लिए 0 № 1
        func sendEmail() {

var gtlMessage = GTLGmailMessage()
gtlMessage.raw = self.generateRawString()

let appd = UIApplication.sharedApplication().delegate as! AppDelegate
let query = GTLQueryGmail.queryForUsersMessagesSendWithUploadParameters(nil)
query.message = gtlMessage

appd.service.executeQuery(query, completionHandler: { (ticket, response, error) -> Void in
println("ticket (ticket)")
println("response (response)")
println("error (error)")
})
}

func generateRawString() -> String {

var dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"; //RFC2822-Format
var todayString:String = dateFormatter.stringFromDate(NSDate())

var rawMessage = "" +
"Date: (todayString)rn" +
"From: <mail>rn" +
"To: username <mail>rn" +
"Subject: Test send emailrnrn" +
"Test body"

println("message (rawMessage)")

return GTLEncodeWebSafeBase64(rawMessage.dataUsingEncoding(NSUTF8StringEncoding))
}