我在使用Node使用Gmail API创建过滤器时遇到问题。Auth和范围很好;我收到错误消息“过滤器没有任何条件”。我想我在标题/正文/资源参数上做错了什么,但无法解决。
这是函数,我已经尝试了多种变体:
function createFilter(auth){ var gmail = google.gmail({version:'v1','auth':auth}); // Create filter rule var data = { resource: { criteria: { from: "someone@gmail.com" }, action: { removeLabelIds: ["INBOX"] } }, userId: 'me' } // Send rule to Gmail gmail.users.settings.filters.create(data, function (err, result) { if (err) { console.log( err); } else { console.log( result ); callback( result ); } }); };
docs:
创建过滤器https://developers.google.com/gmail/api/v1/reference/users/settings/filters/创建过滤 器资源https://developers.google.com/gmail/api/v1/reference/users/settings / filters#resource 发出请求 https://github.com/google/google-google-api-nodejs-client/#making- authenticated-requests
这个修改怎么样?
function createFilter(auth){ var gmail = google.gmail('v1'); var data = { "criteria": { "from": "someone@gmail.com", }, "action": { "removeLabelIds": [ "INBOX", ], }, }; gmail.users.settings.filters.create({ auth: auth, userId: 'me', resource: data, }, function(err, result) { if (err) { console.log( err); } else { console.log( result ); callback( result ); } }); }
Insufficient Permission
https://www.googleapis.com/auth/gmail.settings.basic
如果这不起作用,对不起。
我确认,当我将v27.0.0,v26.0.1和v25.0.0用于googleapis时,Filter doesn\'t have any criteria'会发生的错误。那么您可以将版本降级到v24.0.0吗?当我使用v24.0.0时,它工作正常。据悉,node.js的最新googleapis存在一些错误。所以我正在使用v24.0.0。
Filter doesn\'t have any criteria'