我想知道下载文件的URL有什么区别
方法:使用alt = media 获取https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 授权:持票人ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
替代方法:使用downloadUrl 获取https://doc-04-c1-docs.googleusercontent.com/docs/securesc/ivearmirmg66&e=download&gd=true 授权:持票人ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
参考:https://developers.google.com/drive/v2/web/manage-downloads#downloading_a_file
我尝试下载大文件(> 2GB)并使用方法1失败(错误403 - 超出文件配额)但使用方法2成功 所以我不知道这些网址背后有什么区别
答案 0 :(得分:0)
注意DaImTo在评论中提到的内容,您在帖子中包含的第一种方法可以在 v3 的using alt=media中找到,而downloadUrl用于 v2 (虽然 v2 也有print df
I J P V
0 1.2 11 2011-12-03 2015-08-07 19:14:07
1 1.0 18 2011-12-03 2015-08-07 19:14:07
2 1.8 21 2011-12-03 2015-08-07 19:14:07
print df.dtypes
I float64
J int64
P datetime64[ns]
V datetime64[ns]
dtype: object
df['J'] = df['J'].astype(float)
df['P'] = df['P'].dt.strftime('%Y-%m-%d')
print df
I J P V
0 1.2 11.0 2011-12-03 2015-08-07 19:14:07
1 1.0 18.0 2011-12-03 2015-08-07 19:14:07
2 1.8 21.0 2011-12-03 2015-08-07 19:14:07
print df.to_csv(index=False,float_format='%.4f')
I,J,P,V
1.2000,11.0000,2011-12-03,2015-08-07 19:14:07
1.0000,18.0000,2011-12-03,2015-08-07 19:14:07
1.8000,21.0000,2011-12-03,2015-08-07 19:14:07
。
据我了解v2 docs,using alt=media
和using alt=media
,两者都具有相同的身份验证和使用情况,downloadUrl
是下载文件的建议和直接方式{ {1}}(在文档中看到)只是一个替代(找到这个answer,显示了一些片段,你可以比较两者)。另外,对于using alt=media
:
downloadUrl字段是短期值,通常仅适用于8小时。因此,通常需要在同一时间发出两个请求。 客户端无法预测downloadUrl,必须从服务器元数据中提取。
关于您遇到的error 403 - quota of file is exceeded,我不完全确定使用downloadUrl
时的原因,而不是downloadUrl
时的原因。但是,如果您可以提供一些代码片段,它可能会有所帮助。无论如何,根据文档,处理downloadUrl
的方法是:
403:超出每日限额
建议采取的措施:申请额外配额。
403:超出用户限额
建议采取的行动:
- 在Developer Console项目中提高每用户配额。
- 如果一个用户代表Google Apps域的许多用户提出了大量请求,请考虑使用具有权限委派的服务帐户(设置quotaUser参数)。
- 使用指数退避。
403:超出限额
建议采取的行动:
- 批量请求。
- 使用指数退避。
请注意,这来自docs v3。还有其他using alt=media
但我认为只有上面的3对应于您正在经历的内容。希望这会有所帮助。祝好运。 :)