trovebox照片服务的官方python客户端库
trovebox的Python项目详细描述
(以前称为openphoto python)
这个库可以与任何trovebox服务器一起工作 self-hosted,或使用位于 trovebox.com。 它通过一个简单的 Python药。
安装
pip install trovebox
凭证
要完全访问照片,需要创建以下配置 文件位于~/.config/trovebox/default:
# ~/.config/trovebox/default host = your.host.com consumerKey = your_consumer_key consumerSecret = your_consumer_secret token = your_access_token tokenSecret = your_access_token_secret
config_file开关允许您指定不同的配置文件。
要获取您的凭据:
- 登录Trovebox网站
- 单击右上角的箭头并选择“设置”
- 单击“创建新应用程序”按钮
- 单击新创建的应用程序旁边的“查看”链接
使用库
from trovebox import Trovebox client = Trovebox() photos = client.photos.list() photos[0].update(tags=["tag1", "tag2"]) print(photos[0].tags)
trovebox python类层次结构反映了 Trovebox API终结点布局。 例如,上面示例中的调用使用以下api端点:
- client.photos.list() -> /photos/list.json
- photos[0].update()->/photo/<id>/update.json
您还可以使用GET/POST方法在较低级别访问API:
resp = client.get("/photos/list.json") resp = client.post("/photo/62/update.json", tags=["tag1", "tag2"])
API版本控制
将应用程序锁定到trovebox api的特定版本可能会很有用。 这可以确保将来的api更新不会导致意外的中断。 为此,请按如下方式配置Trovebox客户端:
client.configure(api_version=2)
SSL验证
如果通过https连接到trovebox服务器,则会自动验证其ssl证书。 您可以将Trovebox客户端配置为绕过此验证步骤:
client.configure(ssl_verify=False)
命令行工具
您可以从shell运行对trovebox api的命令!
以下是可以传递给shell程序的选项:
--help # Display help text -c config_file # Either the name of a config file in ~/.config/trovebox/ or a full path to a config file -h hostname # Overrides config_file for unauthenticated API calls -e endpoint # [default=/photos/list.json] -X method # [default=GET] -F params # e.g. -F 'title=my title' -F 'tags=mytag1,mytag2' -p # Pretty print the json -v # Verbose output --version # Display the current version information
命令行示例
将公共照片上载到`~/.config/trovebox/default`:
中指定的主机trovebox -p -X POST -e /photo/upload.json -F 'photo=@/path/to/photo/jpg' -F 'permission=1' { "code":201, "message":"Photo 1eo uploaded successfully", "result":{ "actor":"user@example.com", "albums":[], ... ... } }
从current.trovebox.com获取缩略图URL(未经身份验证的访问):
trovebox -h current.trovebox.com -p -e /photo/62/view.json -F 'returnSizes=20x20' { "code":200, "message":"Photo 62", "result":{ "actor":"", "albums":[ "1" ], ... ... "path20x20":"http://current.trovebox.com/photo/62/create/36c0a/20x20.jpg", "pathBase":"http://awesomeness.trovebox.com/base/201203/7ae997-Boracay-Philippines-007.jpg", "permission":"1", "photo20x20":[ "http://current.trovebox.com/photo/62/create/36c0a/20x20.jpg", 13, 20 ], ... ... } }