2016-11-07 17 views
1

GoogleのGmail APIを使用して下書きの受信者を設定する方法はわかりません。 documentationは、users.messages Resourceオブジェクトにはheadersオブジェクトを含む​​オブジェクトが含まれ、headersオブジェクトには名前と値のペアが含まれていると記載されています。GmailのNode.js APIを使用して受信者を設定する方法

// example from google's gmail API documentation 
"payload": { 
    "partId": string, 
    "mimeType": string, 
    "filename": string, 
    "headers": [ 
    { 
     "name": string, 
     "value": string 
    } 
    ], 
    "body": users.messages.attachments Resource, 
    "parts": [ 
    (MessagePart) 
    ] 
}, 

それは私がドキュメントはこのメッセージ部分のヘッダの

一覧を言うので、あなたは、ドラフトの「へ」の部分を設定推測これらのヘッダ内にあります。メッセージペイロード全体を表す最上位のメッセージ部分には、To、From、およびSubjectなどの標準RFC 2822電子メールヘッダーが含まれます。しかし

、私はドラフトの一部には、この

"payload" : { 
    "headers" : [ 
    { 
     "name" : "To", 
     "value" : "me" 
     // "me" should direct the draft to myself 
    } 
    ] 
} 

ようになっていますリクエストはまだ空のままにされていることを確認。任意の解決策またはアドバイス?あなたはこの持っているあなたの要求で

答えて

1

を、私がGmailのAPIのドキュメントを誤って解釈されたことが表示されます。 drafts.c​​reateにリクエストを送信するときには、users.messages Resourceを指定する必要がありますが、すべてが書き込み可能であるわけではありません。 threadId,labelIds、およびrawのみが書き込み可能なオブジェクトです。結果として、ペイロードを使用してToFromなどを設定することは想定されていません。あなたは生の中にそれらを含めることになっています。

私の新しいコードは実際にタイプミスだったこの

let create = (toAddress, subject, content, callback) => { 
    gmail.users.drafts.create(
    { 
     'userId' : 'me', 
     'resource' : { 
     'message' : { 
      'raw' : base64.encodeURI(
        `To:${toAddress}\r\n` + // Who were are sending to 
        `Subject:${subject}\r\n` + // Subject 
        `Date:\r\n` + // Removing timestamp 
        `Message-Id:\r\n` + // Removing message id 
        `From:\r\n` + // Removing from 
        `${content}` // Adding our actual message 
       ) 
     } 
     } 
    }, 
    (err, response) => { 
     // Do stuff with response 
     callback(err, response); 
    } 
) 
} 
1

"headers" : [ "name" : "To", "value" : "me" ]

"headers"は、オブジェクトの配列することになっていますが、配列はどれも含まれていません。ただ、彼らの例のように

"headers": [ { "name": "To", "value": "me" } ]

代わりに、それは次のようになります

ので
"payload": { 
    "partId": string, 
    "mimeType": string, 
    "filename": string, 
    "headers": [ 
    { 
     "name": "To", 
     "value": "me" 
    } 
    ], 
    "body": users.messages.attachments Resource, 
    "parts": [ 
    (MessagePart) 
    ] 
}, 
+0

Woops、のようになります。私はその方法でローカルコードを書いていますが、ドラフトを作成しようとすると同じ結果になります。 –

関連する問題