目标是成为最容易使用的Basecamp 3 API版本

basecampy3R的Python项目详细描述


基础课程3

Basecamp 3 API的易于使用的python接口。

虽然BaseCompy3的目标是在Python2.7中具有同等的功能,但在Python3.4+开发的早期阶段,大多数测试都是在Python3.4+中进行的。

功能

  • 简单、类似于aws cli的配置和安装
  • 面向对象的api
  • 为您处理速率限制、缓存和身份验证!

安装

pip install basecampy3
bc3 configure

按照提示获取访问和刷新令牌,然后将其保存到~/.conf/basecamp.conf,允许您在不带任何参数的情况下调用Basecamp3()。你需要先做你自己的Basecamp 3 app integration

用法

基本示例

frombasecampy3importBasecamp3bc3=Basecamp3()forprojectinbc3.projects.list():print(project.name)new_project=bc3.projects.create("My New Project",description="The best project ever made.")new_project.campfire.post_message("Hello World!")new_message=new_project.message_board.post_message("Check this out",content="This is a new message thread start.")new_message.archive()todolist=new_project.todoset.create("Things to be done")todolist.create("Get Milk")todolist.create("Get Eggs")go_to_bed=todolist.create("Go to bed.")go_to_bed.check()# this is marked as done

API的所有功能尚未提供。如果有任何遗漏,您可以直接使用requests Session object并查阅Basecamp 3 API docs。使用此会话对象的好处是您将受益于身份验证、速率限制和缓存功能。

直接会话示例

frombasecampy3importBasecamp3frompprintimportpprintbc3=Basecamp3()session=bc3._sessionMY_COMPANY_ID=1234567recording_id=123456789project_id=1234567# Reference:# https://github.com/basecamp/bc3-api/blob/master/sections/comments.md#get-commentsBASE_URL="https://3.basecampapi.com/{company_id}/".format(company_id=MY_COMPANY_ID)# base of all API requestsENDPOINT="{base_url}/buckets/{project_id}/recordings/{recording_id}/comments.json"# get comments endpointurl=ENDPOINT.format(base_url=BASE_URL,project_id=project_id,recording_id=recording_id)resp=session.get(url)# make a GET request. Substitute get() with post() or put() or delete() as neededifnotresp.ok:# API returned a 4XX or 5XX errorprint("Something went wrong.")pprint(resp.json())# resp.json() will make a nice dictionary of the JSON response from Basecamp

cli示例

马上就到! 命令行界面,用于在Basecamp中执行任务。 (尚未工作)

  $ bc3 projects list

待办事项

  • Basecamp 3 API的其余部分
  • 命令行工具(不仅仅是“configure”命令)
  • 更好的测试覆盖率

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

推荐PyPI第三方库


热门话题
java获取所有唯一的子字符串   在Java中转换图像。通过socket传输图像   java中缀到后缀未按预期工作   测试Hibernate@Check约束时,java无法生成约束冲突异常   java使用在IF语句中声明的变量   java Spring数据JPA未找到符合依赖项要求的bean   java CalendarArray获取两个日期之间的日期并跳过几个   数据结构如何在Java中实现n:m关系?   Java:ArrayIndexOutOfBoundException在数组中搜索整数值时发生   java Spring Pageable不翻译@Column name   带有sockJS MissingSessionUserException的java Spring WebSocket:消息中没有“用户”头   JAVA中如何在没有纯数组字符串类的情况下获取字符第二次或第n次出现的索引   使用FileReader时的java NumberFormatException   java什么会使安卓 4.1中的加载速度变慢。X,而不是4.2?   java Round双精度数据类型最多3位   关于客户端的javamysql设计   在java中生成随机文件名的字符串   java问题在Android studio的Android项目中添加jar文件   java单一责任原则与服务/存储库设计