drafts.create в target-c с помощью GTLQueryGmail

Кажется, я не совсем понимаю, как использовать GTMMIMEDocument.h для установки необработанных данных сообщения для нового черновика. В примере, который я опубликую ниже, я пытаюсь установить заголовки для "Кому", "От" и "Тема", но, похоже, они попадают в данные тела сообщения, а не в другие заголовки.
Любая помощь в том, что я делаю неправильно, очень ценится. Благодарю.

Метод запроса:

//message body to save
NSData *messageBody = [self.messagebox.text dataUsingEncoding:NSUTF8StringEncoding];

//create mimemessage
GTMMIMEDocument *email = [GTMMIMEDocument MIMEDocument];
NSArray *headers = @[@"To",@"From",@"Subject"];
NSArray *values = @[@"listserveproject2014dh@googlegroups.com",self.auth.userEmail,@"test email"];
NSDictionary *partheaders = [NSDictionary dictionaryWithObjects:values forKeys:headers];
[email addPartWithHeaders:partheaders body:messageBody];

//generate input stream
NSInputStream *inputstream = nil;
unsigned long long length = nil;
NSString *boundary = [[NSString alloc] init];
[email generateInputStream:&inputstream length:&length boundary:&boundary];

//get rawdata
uint8_t *buffer = malloc(sizeof(uint8_t));
[inputstream read:buffer maxLength:NSUIntegerMax];
NSData *rawdata = [NSData dataWithBytes:buffer length:length];

//create query
GTLGmailDraft *draft = [[GTLGmailDraft alloc] init];
GTLGmailMessage *message = [[GTLGmailMessage alloc] init];

message.raw = GTLEncodeWebSafeBase64(rawdata);
draft.message = message;

//GTLUploadParameters *parameters = [GTLUploadParameters uploadParametersWithData:rawdata MIMEType:@"message/rfc822"];
GTLQueryGmail *query = [GTLQueryGmail queryForUsersDraftsCreateWithUploadParameters:nil];
query.draft = draft;

...execute query

Это ответ, который он получает:

{
"id": "r-2881802111797802342",
"message": {
 "id": "149a2aa34d4def95",
 "threadId": "149a2aa34d4def95",
 "labelIds": [
   "DRAFT"
 ],
 "snippet": "--END_OF_PART From: dhill4554@gmail.com Subject: test email To: listserveproject2014dh@googlegroups.",
 "historyId": "919257",
 "payload": {
   "partId": "",
   "mimeType": "text/plain",
   "filename": "",
   "headers": [
    {
     "name": "Received",
     "value": "from 58891527906-b79qq2lqjudtsj32n8ldpkup78uquol6.apps.googleusercontent.com named unknown by gmailapi.google.com with HTTPREST; Tue, 11 Nov 2014 22:21:43 -0800"
    },
    {
     "name": "Date",
     "value": "Tue, 11 Nov 2014 22:21:43 -0800"
    },
    {
     "name": "Message-Id",
     "value": "<CAOabQUdz8wzxQ29HbJq6xeRsSuu1iH6iRi9=A23vYHJencNdoQ@mail.gmail.com>"
    },
    {
     "name": "From",
     "value": "dhill4554@gmail.com"
    }
   ],
"body": {
  "size": 136,
  "data":  "LS1FTkRfT0ZfUEFSVA0KRnJvbTogZGhpbGw0NTU0QGdtYWlsLmNvbQ0KU3ViamVjdDogdGVzdCBlbWFpbA0KVG86IGxpc3RzZXJ2ZXByb2plY3QyMDE0ZGhAZ29vZ2xlZ3JvdXBzLmNvbQ0KDQptZXNzYWdlDQotLUVORF9PRl9QQVJULS0NCg=="
 }
},
"sizeEstimate": 466
}
}

А вот как выглядят необработанные данные в декодированном виде (тело сообщения - "сообщение"):

--END_OF_PART
From: dhill4554@gmail.com
Subject: test email
To: listserveproject2014dh@googlegroups.com

message
--END_OF_PART--

0 ответов

Другие вопросы по тегам