egnyte公共api sdk,

egnyte的Python项目详细描述


Egnyte软件开发包

这是egnyte的公共api的官方python客户端库。 有关http api的概述,请转到https://developers.egnyte.com

获取API密钥

https://developers.egnyte.com/member/register上注册以获取api密钥 为了你的帐户。生成egnyte oauth需要此密钥 代币。

示例

  • 包括此库
  • 生成访问令牌
  • 创建客户端对象
client=egnyte.EgnyteClient({"domain":"apidemo.egnyte.com","access_token":"68zc95e3xv954u6k3hbnma3q"})
  • 创建文件夹
folder=client.folder("/Shared/new").create(ignore_if_exists=True)
  • 删除文件夹
client.folder("/Shared/time to say goodbye").delete()
  • 获取文件夹中的文件列表,下载文件,替换其内容,添加注释
folder=client.folder("/Shared/foo that need to be bar")folder.list()forfile_objinfolder.files:withfile_obj.download()asdownload:data=download.read()# replace file contentsfile_obj.upload(data.replace(b"foo",b"bar"))file_obj.add_note("all occurrences of 'foo' replaced by 'bar'!")
  • 获取子文件夹中的文件列表
folder=client.folder("/Shared")folder.list()forfolder_objinfolder.folders:do_something(folder_obj)
  • 从本地文件上载新文件
file_obj=client.file("/Private/smeagol/my precious")withopen("local path","rb")asfp:file_obj.upload(fp)
  • 删除文件
file_obj.delete()
  • 执行递归下载
client.bulk_download(['/Shared/a dir','/Shared/another dir'],'/home/smeagol/',overwrite=True)
  • 执行递归上载
client.bulk_upload(['/tmp/some directory','/tmp/some file'],'/Shared/Marketing')
  • 搜索文件
importdatetimeresults=api.search.files('"some text" OR "other text"',folder='/Shared',modified_after=datetime.date(2015,1,15))
  • 从服务器获取和处理事件
events=api.events.filter(folder='/Shared',suppress='user')old_events=events.list(events.latest_event_id-10,count=10)# get events in batchesfuture_events=iter(events)foreventinfuture_events:# polls server continously, iterator over single events, iterator will never enddo_something(event)ifcondition(event):break

完整文档

docs子目录只包含文档的源。 您可以在http://egnyte.github.io/python-egnyte-docs/

命令行

如果使用隐式流,则需要直接提供访问令牌。 如果将api令牌与资源流一起使用,则可以使用命令行选项生成api访问令牌。 请参阅完整文档或安装,然后使用:

python-megnyte-h

创建配置

配置文件将在~/.egnyte/config.json中创建

python-megnyteconfigcreate-dDOMAIN[-lLOGIN][-pPASSWORD]-kAPI_KEY[-tACCESS_TOKEN][-TTIMEOUT]

设置请求超时

python-megnyteconfigupdate--timeoutTIMEOUT_INTEGER

依赖关系

此库依赖于:

  • 请求2.13.0或更高版本-用于https调用
  • 六个1.10.0或更高版本-使用相同的 来源

螺纹安全性

每个客户端对象一次只能从一个线程使用。这 库本身不锁定-调用方负责 必要时这样做。

运行测试

测试可以用鼻子进行,也可以直接在egnyte包上进行,或者 从setup.py:

pythonsetup.pytest

python-munittestdiscover

为了运行测试,您需要创建测试配置文件:~/.egnyte/test_config.json

{"access_token":"access token you received after passing the auth flow","api_key":"key you received after registering your developer account","domain":"your Egnyte domain, e.g. example.egnyte.com","login":"username of Egnyte admin user","password":"password of the same Egnyte admin user"}

您可以手动或使用以下命令创建此文件:

python-megnyte-ctest\_config.jsonconfigcreate-k<API_Key>-d<domain>-l<username>-p<password>-t<access_token>

将代表管理员用户对您的域运行测试。

有关信息,请参阅https://developers.egnyte.com/docs/read/Public_API_Authentication#Internal-Applications 关于如何生成访问令牌。

帮助发展

请报告你发现的任何问题 api-support@egnyte.compint@egnyte.com

如果你想自己修复一些东西,请离开这个存储库, 将修复和更新提交到测试,然后使用 你正在修理什么信息。

请记住将您的修补程序的版权分配给egnyte或使它们 公共领域,以便我们可以合法地合并它们。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序