Flutter 手表在 Google 云端硬盘文件上发生变化

问题描述 投票:0回答:1

我目前在我的 flutter 项目中使用 google Drive API,现在我需要监视特定文件的更改。 我尝试了 files.watch 但出现错误。 我将 API 导入为

import 'package:googleapis/drive/v3.dart' as drive;
并尝试了以下代码,而“id”是我想观看的文件的ID。

drive.Channel channel = drive.Channel();
var responseChannel = await driveApi.files.watch(channel, id!);
debugPrint(responseChannel.toString());

但我得到的只是“DetailedApiRequestError(状态:400,消息:未知通道类型:)” 有谁知道如何正确使用手表功能吗?

android flutter dart google-drive-api
1个回答
0
投票

您找到问题的解决方案了吗? 看来我们都有同样的问题,但看起来我已经朝着你的问题迈出了一步。

我正在使用 flutter 开发一个简单的应用程序,我希望在我的 Google Drive 帐户中的特定文件发生更改时收到通知。到目前为止,我可以获得我的文件的 fileId(并且我可以下载该文件......但我不需要)。

我当前的问题是,我不知道为“Channel()”中的地址字段设置什么。 我知道它必须是 https 地址而不是“https//localhost”。但还有哪一个呢? 如果我设置了 IP 地址,则对 watch() 的调用正在运行,但我没有收到预期的通知。

我的问题是:

  • 我应该在“地址”中设置什么?
  • 如何等待通知?

非常欢迎帮助。

String? fileId ='my file id from Google Drive';
Channel channel =  Channel(id: const Uuid().v4(),
                       address: 'https://....', //<<<<< TODO ????
                       kind: "api#channel",
                       type: 'webhook'); // or 'web_hook'

var responseChannel  = await driveApi.files.watch(channel , fileId!);
© www.soinside.com 2019 - 2024. All rights reserved.