Firebase 用于谷歌硬盘监视更改的无服务器解决方案

Firebase 用于谷歌硬盘监视更改的无服务器解决方案,firebase,google-cloud-firestore,google-drive-api,google-cloud-functions,serverless,Firebase,Google Cloud Firestore,Google Drive Api,Google Cloud Functions,Serverless,我想创建一个firebase函数,由Google Drive“Changes:watch”触发: 我知道我可能可以用谷歌云存储来实现这一点,但对于我的用例来说,让谷歌硬盘监视并上传文件更改对我的用户来说是最好的UX 我希望这是一个无服务器的解决方案,以节省运行一直在等待/轮询的服务器的费用。理想情况下,这可以在firebase函数中通过触发器完成,因为我正在将数据解析到您可以使用的Firestore中 设置WebHook以指向firebase函数终结点: POST https://www.go

我想创建一个firebase函数,由Google Drive“Changes:watch”触发:

我知道我可能可以用谷歌云存储来实现这一点,但对于我的用例来说,让谷歌硬盘监视并上传文件更改对我的用户来说是最好的UX

我希望这是一个无服务器的解决方案,以节省运行一直在等待/轮询的服务器的费用。理想情况下,这可以在firebase函数中通过触发器完成,因为我正在将数据解析到您可以使用的Firestore中

设置WebHook以指向firebase函数终结点:

POST https://www.googleapis.com/drive/v3/changes/watch
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json

{
  "id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a77", // Your channel ID.
  "type": "web_hook",
  "address": "<your-function-endpoint>", // Your receiving URL.
  "token": "target=myApp-myChangesChannelDest", // (Optional) Your channel token.
}
POSThttps://www.googleapis.com/drive/v3/changes/watch
授权:当前用户的承载身份验证令牌
内容类型:application/json
{
“id”:“4ba78bf0-6a47-11e2-bcfd-0800200c9a77”,//您的频道id。
“类型”:“网钩”,
“地址”:“”//您的接收URL。
“令牌”:“target=myApp myChangesChannelDest”/(可选)您的频道令牌。
}