#javascript #node.js #google-drive-api
#javascript #node.js #google-drive-api
Вопрос:
Использование drive api v3 с googleapis
Node.js клиент v61.0.0. При создании разрешения каждый раз, когда я устанавливаю для параметра ‘EmailMessage’ значение, отличное от пустой строки (или не указывая ее вообще, также работает), я вообще не получаю уведомление по электронной почте. Ответ возвращается как 200, и разрешения устанавливаются правильно, однако электронное письмо не отправляется. Я также вижу, что запрос отправлен правильно, и сервер правильно отправил его обратно в объект params.
const result = await this.drive.permissions.create({
emailMessage: 'test test',
sendNotificationEmail: true,
supportsAllDrives: true,
resource: permission,
fileId,
fields: 'id'
});
Комментарии:
1. Могу я спросить вас о вашем вопросе? В вашей ситуации
emailMessage: 'test test',
используется, электронное письмо не отправляется, даже когдаsendNotificationEmail: true,
используется. Правильно ли я понимаю? Если я правильно понимаю, в этом случае, когда используются одни и те же адреса электронной почты, проблема может быть воспроизведена? Кстати, адреса электронной почты — это электронная почта Google? Если это не так, какой результат вы получите, когда протестируете свой скрипт для электронной почты Google? И можете ли вы показать значениеpermission
? Потому что в моей среде ваш скрипт работает.2. При использовании async / await я настоятельно рекомендую вам использовать блок try-catch , чтобы мы могли видеть, выдается ли ошибка без предупреждения, несмотря на созданные разрешения. Можете ли вы подтвердить, что нет ошибки, которую вы не «улавливаете»?
3. @tanaike электронное письмо отправляется на внутренний домен электронной почты учетной записи gmail, с которым я его тестирую. разрешения выглядят как
{type: 'uesr', role: 'writer', emailAddress: 'myemail@company.com' }
@jose-vasquez У меня есть это в блоке try catch исключение не выдается, и результатом является ответ 2004. Вот пример ответа, который я получаю от вызова api: ` { status: 200, statusText: ‘OK’, запрос: { responseURL: ‘ <a rel="nofollow noreferrer noopener" href="https://www.googleapis.com/drive/v3/files//permissions?emailMessage=test testamp;sendNotificationEmail=trueamp;supportsAllDrives=trueamp;fields=id» rel=»nofollow noreferrer»> googleapis.com/drive/v3/files /<идентификатор файла-пропущен>/… ‘ } `
Ответ №1:
Эта ошибка может быть вызвана областью
Несмотря на отраженные изменения без использования sendNotificationEmail
параметра. Если вы используете https://www.googleapis.com/auth/drive.file
, попробуйте использовать https://www.googleapis.com/auth/drive
область. Это ошибка в документации.