python - 如何使用 python-sharepoint 库下载文件

标签 python sharepoint sharepoint-2013

我正在使用这个库 https://github.com/ox-it/python-sharepoint连接到 SharePoint 列表。我可以进行身份​​验证,访问列表字段,包括我想要的文件的完整 URL,而且这个库似乎确实有 is_file()open() 方法,但是,我不明白如何称呼这些。 任何建议表示赞赏!

from sharepoint import SharePointSite, basic_auth_opener 

opener = basic_auth_opener(server_url, "domain/username", "password")
site = SharePointSite(server_url, opener)

sp_list = site.lists['ListName']
for row in sp_list.rows:
       print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl
       #download file
       #row.open() ??

引用自述文件:

Support for document libraries is limited, but SharePointListRow objects do support a is_file() method and an open() method for accessing file data.

最佳答案

基本上,您在列表行(类型为 SharePointListRow)上调用这些方法。 open()方法其实就是urllib2的opener的方法,一般是这样使用的:

import urllib2
opener = urllib2.build_opener()
response = opener.open('http://www.example.com/')
print ('READ CONTENTS:', response.read())
print ('URL          :', response.geturl())
# ....

所以你应该能够像这样使用它(虽然我没有任何 Sharepoint 站点来检查这个):

from sharepoint import SharePointSite, basic_auth_opener 

opener = basic_auth_opener(server_url, "domain/username", "password")
site = SharePointSite(server_url, opener)

sp_list = site.lists['ListName']
for row in sp_list.rows():                # <<<
   print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl
   # download file here 

   print ( "This row: ", row.name() )     # <<<
   if row.is_file():                      # <<<
      response = row.open()               # <<<
      file_data = response.read()         # <<<

      # process the file data, e.g. write to disk

关于python - 如何使用 python-sharepoint 库下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026796/

相关文章:

c# - 像 C# 一样模仿 Python(纯)虚函数

python - python中的段错误?

javascript - 在 SharePoint 2010 中构建基于列表列的查询字符串

javascript - 使用 JavaScript 更改 SharePoint 控件 InputFromTextBox 的值

SharePoint 2010,Powershell - 遍历所有文档库,创建 View 并将其设置为默认值

sharepoint-2013 - Sharepoint 2013/2016 和带有自定义数据库的自定义 Web Api。

python - 从 Tensorflow 模型获取预测

当缺少用户用户输入时,Python 索引超出范围

javascript - 使用 html 和 javascript 进行自定义共享点开发

odata - Sharepoint 2013 REST API GetFolderByServerRelativeUrl 不会返回作者详细信息