使用“op”命令行工具查询1password帐户的python api

pyonepassword的Python项目详细描述


pyonepassword

说明

使用op命令登录并查询1密码帐户的python api。

要求

示例用法

初始登录

importgetpassfrompyonepassword.pyonepasswordimport(OP,OPSigninException)defdo_initial_signin():my_signin_address="my-1p-account.1password.com"my_email_address="my-1p-email@email.com"my_secret_key=getpass.getpass(prompt="1Password secret key:\n")my_password=getpass.getpass(prompt="1Password master password:\n")try:op=OP(signin_address=my_signin_address,email_address=my_email_address,secret_key=my_secret_key,password=my_password)exceptOPSigninExceptionasope:print("1Password initial signin failed: {}".format(ope))print(ope.err_output)exit(1)print("1Password is signed in and ready for lookups")returnopif__name__=="__main__":op=do_initial_signin()# op is ready to use and call lookup() onprint("Signed in.")
$ python3 ./example.py
1Password secret key:1Password master password:Performing initial 1Password sign-in to my-1p-account.1password.com as my-1p-email@email.comSigned in.

后续登录和查找

importgetpassfrompyonepasswordimport(OP,OPSigninException)defdo_signin():# If you've already signed in at least once, you don't need to provide all# account details on future sign-ins. Just master passwordmy_password=getpass.getpass(prompt="1Password master password:\n")try:op=OP(password=my_password)exceptOPSigninExceptionasope:print("1Password initial signin failed: {}".format(ope))print(ope.err_output)exit(1)returnopif__name__=="__main__":op=do_signin()print("Signed in.")print("Looking up \"Example Login\"...")print(op.lookup("Example Login"))print("")print("\"Example Login\" can also be looked up by its uuid")print("")print("Looking up uuid \"ykhsbhhv2vf6hn2u4qwblfrmg4\"...")print(op.lookup("ykhsbhhv2vf6hn2u4qwblfrmg4"))
$ python3 ./examples/example-signin-lookup.py
1Password master password:Doing normal (non-initial) 1Password sign-inSigned in.Looking up "Example Login"...doth-parrot-hid-tussock-veldt"Example Login" can also be looked up by its uuidLooking up uuid "ykhsbhhv2vf6hn2u4qwblfrmg4"...doth-parrot-hid-tussock-veldt

注释

  • 这个已经过了轻微的测试,而且只在我的mac上。我不知道它在其他系统上是否有效。
  • 这已经过op版本0.5.6的测试。
  • 您需要op1password命令行工具。在带有自制程序的Mac上,您可以执行brew install 1password-cli

待办事项

  • 检测是否安装了op,并提供帮助
  • 获取保险库项的完整或部分json的api,而不仅仅是特定字段的值
  • 也许有一天1password.com会有一个api,这个模块不必使用op

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

推荐PyPI第三方库


热门话题
java在jframe中模糊的背景上创建一个透明的矩形   java和super之间有区别。getX()和简单的x?   使用ant的java删除eclipse项目   java找不到。txt文件?   多线程Java wait()notify()   带按钮的java透明控件   java Android Studio 3无法构建我的项目   性能最佳(最快且节省内存)的Java收集/数据结构,可同时插入和删除项   spring+hibernate集成中的java ClassNotFoundException   java如何在Android上建立异步URL连接?   java当我选择contacts选项卡时,选项卡栏消失了   java根据数据库中的日期获取结果,不考虑时间   java如何访问WebChromeClient中的方法?   java如何在安卓中使用两行列表项?   spring Swagger Java日期格式验证引发异常