/ / Как да вмъкнете поща с най-новия API на GMail в Swift? - swift, имейл, google-api

Как да вмъкнете поща, използвайки най-новия GMail API в Swift? - бързо, имейл, 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"]}

Въпреки това, ако аз ще замени rawData с това съобщение данни, тя не работи.

И така, как мога да вмъкна съобщение и да му дам някои етикети?

Отговори:

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))
}