我正在尝试将 PushEndpoint 添加到我尝试在 Google 的 PubSub ( https://cloud.google.com/pubsub/ ) 中创建的订阅,以便能够从 Gmail 接收推送更新。我试图添加的pushEndpoint是一个带有端口的HTTPS-URL(例如: https://developers.example.com:9081/pushEndpoint ),但我不断收到 给定的无效推送端点(endpoint=https://developers.briteback.com:9081/mailSyncHandler )。请参阅 https://cloud.google.com/pubsub/subscriber#create 了解更多信息。
所以问题是是否可以将端口添加到pushEndpoint?
这是尝试创建订阅的代码:
var rp = require('request-promise');
rp({
url: 'https://pubsub.googleapis.com/v1/projects/projectId/subscriptions/mailSync',
method: 'PUT',
headers: {
Authorization: 'Bearer accessToken'
},
json: {
topic: 'projects/projectId/topics/mailSync',
pushConfig: {
pushEndpoint: 'https://developers.example.com:9081/mailSyncHandler'
}
}
})
.then(function(response) {
console.log(response);
res.send(response);
})
.catch(function(err) {
console.error(err);
res.status(err.statusCode).send(err.error.error.message);
});
所以看来不可能将端口添加到pushEndpoint。我最终做的是创建一个反向代理(使用 node-http-proxy)来监听端口 443 并将/mailSyncHandler 转发到我们网络中的正确地址。
我是一名优秀的程序员,十分优秀!