小编hor*_*ioj的帖子

Google Drive API v3:没有任何方法可以获取 google 文档的下载网址吗?

Google Drive API v2 到 v3迁移指南指出:

ExportLinks 字段已从文件中删除。要导出 Google 文档,请改用 files.export 方法。

我不想立即导出(下载)文件。“files.export”实际上会下载文件。我想要一个稍后下载该文件的链接。这在 v2 中可以通过 exportLinks 实现。

我如何在 v3 中完成同样的任务?如果不可能,为什么这个有用的功能被删除了?

此外,(与上面类似的问题)downloadUrl 也被删除,并且建议的替代方案(“files.get with ?alt=media”)下载文件而不是提供下载链接。这意味着 v3 中无法获取文件的公共短期 URL?

编辑:

v3 中没有办法获取文件的公共短期 URL 吗?

对于常规文件,显然是的

这似乎工作正常(具有正确名称和内容的文件的公共短期链接): https://www.googleapis.com/drive/v3/files/ID?alt=media&access_token=TOKEN

对于谷歌应用程序文件,没有(甚至不是私有的,就像 v2 exportLinks 过去那样)

https://www.googleapis.com/drive/v3/files/ID/exportmimeType=TYPEv&access_token=TOKEN

与常规文件类似,此 URL 是指向文件内容的短暂链接,但缺少正确的名称。

顺便说一句,我发现 API 的行为不一致:/drive/v3/files/FILEID提供了正确的文件名,但/drive/v3/files/FILEID/export事实并非如此。

我认为 API 本身应该设置正确的 Content-Disposition,就像它在发出调用时所做的那样/drive/v3/files/FILEID

此文件命名问题导致 v3 中缺少 ExportLinks 的解决方法无效。

v2 ExportLinks 允许我链接文件(这与立即获取其内容不同)。任何登录并具有适当权限的人都可以访问它,并且该链接不需要任何 access_token,而且它的寿命也不是短暂的。这很好而且很有用。

使用原始 API 调用(如(使用强制 access_token))构建链接/drive/v3/files/FILEID/export将是一个足够接近的解决方法(它是临时的和公共的,无论如何与以前不同)。然而,命名问题使其无效。

在 v2 中,常规文件具有WebContentLink.google …

google-api google-drive-api

6
推荐指数
1
解决办法
7951
查看次数

无法在Visual Studio 2010上启动调试器(F5)但是,"附加到进程"确实有效(慢).怎么修?

环境:

  • 清理(​​新)安装的Windows 7 64位.
  • 清理(​​新)安装的Visual Studio 2010 Professional(10.0.30319.1).
  • Windows Update是最新的.

问题:
我无法在Visual Studio 2010上启动调试器(按F5):
' 无法在Web服务器上启动调试.无法连接到Web服务器.验证Web服务器是否正在运行,并且防火墙未阻止阻止HTTP请求."

然而,' 附加到进程 '(我通常做的)确实有效,但启动速度很慢(Visual Studio'认为'在实际启用调试之前需要很多时间).

在相同的硬件上,在旧的Windows XP(32位)上运行VS 2008,这个问题从未发生过.

尝试调试在ASP.NET Development Server下运行的站点也会失败:
' 无法连接到ASP.NET Development Server.".

有很多关于这些错误的网页(许多非常过时且不适用于我的环境),它们都不适用于我.

笔记:

  • 无论我是否以管理员身份运行Visual Studio.问题是一样的.
  • 即使在运行全新的空白IIS网站时也会出现问题,无论是创建为"localhost/something"还是"sample.local".
  • 如果我创建一个"文件系统"网站(尝试ASP.NET开发服务器),当我点击F5时,服务器启动,但经过漫长的等待后,Visual Studio说"无法连接到ASP.NET Development Server".
  • 'hosts'文件有'localhost'和'sample.local'的显式127.0.0.1条目
  • 运行.NET 2.0或4.0也是同样的问题.
  • 无论是否启用"启用32位应用程序",配置应用程序池都是相同的.
  • 配置应用程序池是经典模式还是集成模式也是如此.
  • 在绝望的尝试中,我添加了所有IIS 6.0遗留的"功能"内容(不需要!)并且根本没有帮助.

我现在还没有其他什么可以尝试.
谢谢.

debugging visual-studio-2010 visual-studio visual-studio-debugging

5
推荐指数
1
解决办法
3653
查看次数

使用.NET SDK按路径获取Microsoft Graph Drive项目

文档所述,使用Microsoft Graph REST API,您可以(除其他选项外)通过Id或Path获取项目。可以正常工作,如预期的那样:

GET /me/drive/items/{item-id}/children
GET /me/drive/root:/{item-path}:/children
Run Code Online (Sandbox Code Playgroud)

使用.NET SDK,我可以按ID(即第一种情况)获取文件夹:

var items = await graphClient.Me.Drive.Items[myFolderId].Children.Request().GetAsync();
Run Code Online (Sandbox Code Playgroud)

但是,我找不到方法(使用.NET SDK)执行相同操作,而是指定了路径而不是ID(即第二种情况)。

我不想找到我已经知道的路径的ID,以为其创建请求。对?

恐怕无法使用当前的SDK(Microsoft Graph Client Library 1.1.1)来做到这一点?

c# onedrive microsoft-graph

3
推荐指数
1
解决办法
3160
查看次数