Gmail API를 사용하고 있습니다. 나는 인증을했다. 이제 초안을 만들고 싶습니다. 하지만JS 문자열을 rfc822로 변환
{ error:
I20161220-15:53:43.486(4)? { errors: [Object],
I20161220-15:53:43.487(4)? code: 400,
I20161220-15:53:43.488(4)? message: 'Media type \'application/octet-stream\' is not supported. Valid media types: [message/rfc822]' } } }
의 Gmail API는 RFC822 표준 base64로 문자열을 필요로이 오류를 얻고있다. 문자열을 rfc822로 변환하는 좋은 방법이 확실하지 않습니다. 어떻게해야합니까?
내 앱에 유성을 사용하고 있으며 여기에 제 코드가 있습니다.
import { Meteor } from 'meteor/meteor'
import { HTTP } from 'meteor/http'
Meteor.startup(() => {
// Meteor.call('createDraft')
Meteor.methods({
'createDraft': function() {
console.log(this.userId)
const user = Meteor.users.findOne(this.userId)
const email = user.services.google.email
console.log(email)
const token = user.services.google.accessToken
const dataObject = {
message: {
raw: CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse('dddd'))
},
headers: {
Authorization: `Bearer ${token}`
}
}
HTTP.post(`https://www.googleapis.com/upload/gmail/v1/users/${email}/drafts`, dataObject, (error, result) => {
if (error) {
console.log('err', error)
}
if (result) {
console.log('res', result)
}
})
}
})
})
는 [RFC822] (https://www.ietf.org/rfc/rfc0822.txt) 1980 년대 초부터 좋은 오래된 전자 메일 프로토콜입니다. 적절한 헤더와 유효한 본문을 사용하여 올바른 형식의 이메일 메시지를 작성해야한다는 것은 Gmail의 의미입니다 (분명히). 그것은 당신의 문자열의 형식에 대해 불평하지 않습니다. –