我想从公共Sharepoint目录列出并下载文件。
我有格式的链接
https://xxx.sharepoint.com/:f:/s/site_name/long_id?e=shorter_id
重定向到https://xxx.sharepoint.com/sites/site_name/Shared%20Documents/Forms/AllItems.aspx?cid=some_id&RootFolder=encoded_path&FolderCTID=another_is
对于非公共文件,我正在使用Office365-REST-Python-Client和真实帐户凭据,但是这个库不允许在没有auth的情况下使用
因为这似乎是相对简单的任务,我可以使用裸机RESTAPI,但作为一个完整的Sharepoint新手,我可以使用一些提示从哪里开始寻找
我认为使用sharepointapi存档可能是不可能的(至少找不到如何存档),但通过处理简单的请求是可行的。
似乎在幕后,Sharepoint执行一些自动授权,并执行多个重定向来附加授权cookies。
您只需对所有请求使用一些真正的
User-Agent
步骤如下:
https://xxx.sharepoint.com/:f:/s/site_name/long_id?e=shorter_id
您将收到301到授权端点https://xxx.sharepoint.com/sites/site_name/_layouts/15/guestaccess.aspx?e=shorter_id&share=long_id
。这一个将设置一些cookies和302到您的目的地https://xxx.sharepoint.com/sites/site_name/Shared%20Documents/path_to_dir?cid=some_id
这个将返回实际数据。必须使用上一步中的auth Cookie李>ListData
对象查找script
标记。它将包含描述所有文件的结构。您对FileRef
属性感兴趣李>https://xxx.sharepoint.com/sites/site_name/_layouts/15/download.aspx?SourceUrl=FileRef
它将下载您的数据。记住auth头李>虽然不是很理想,但对我来说很管用
相关问题 更多 >
编程相关推荐