项目作者: kentio

项目描述 :
Google Voice Python API
高级语言: Python
项目地址: git://github.com/kentio/GV-Python-API.git
创建时间: 2018-01-03T08:03:03Z
项目社区:https://github.com/kentio/GV-Python-API

开源协议:MIT License

下载


20200807 不再维护

为了帮助保护您的帐号,Google 不允许您通过某些浏览器登录。Google 可能会阻止从存在以下情况的浏览器登录:

  • 不支持 JavaScript 或者已关闭 JavaScript。
  • 添加了不安全或不受支持的扩展程序。
  • 使用自动化测试框架
  • 嵌入在其他应用中。

详情查看: here
仅作为学习用途
```shell script
python setup.py sdist bdist_wheel # 打包成wheel

  1. ~~使`Google Voice`号码免于被回收~~
  2. ### 封装 Docker 2018/11/11
  3. 封装到 docker 并每周向指定号码发送信息
  4. ```sh
  5. # run
  6. docker run -d -p 3280:5000 -e "GV_USR=<your email>" -e "GV_PWD=<your passwd>" -e "GVAPI_IS_DEV=true" --restart always cvno/gv

在指令中GV_USRGV_PWD填入自己的邮箱和密码,稍等片刻后访问ip:3280/sms/13212969527/gv:0.1成功后会返回数据。

ip:3280/sms/13212969527/gv:0.113212969527这个号码发送sms信息,内容为gv:0.1

  1. # 自行build
  2. docker build -t <your id>/gv:0.1 .

注意:自行build后如果要上传一定要把docker仓库设置为私有!!!否则任何人都可以看到你的镜像将暴露你的帐号密码。

GV Python API

使用 Python3 来操作 Google Voice 的 API。English(未完成)

功能列表:

  • 发送 SMS
  • 拨打电话
  • 取消拨打电话
  • 标记为已读或未读
  • 下载语音留言
  • 后台自动检测是否有新信息
  • 根据 SMS 的设置自动回复

它也可能是一个廉价的短信验证码方案。

依赖:

开发使用

  1. from gvapi import Voice
  2. # 如果需要设置自定义回复,请重写 _initial 方法,不需要的请忽略
  3. class Example(Voice):
  4. def _initial(self):
  5. ''' 这个函数运行在登录之前, 可以在这里修改一些配置,
  6. 如:
  7. 1. 设置浏览器请求头
  8. 2. 更改登录地址
  9. 3. 设置超时时间
  10. 4. 是否检测新消息
  11. '''
  12. self.set_match({'TD': '退订成功'}) # 触发关键词
  13. self.status['auto'] = True # 自动回复开关
  14. voice = Example('usernmae', 'passwd', True)
  15. # 在调试的时候建议开启 Debug=True ,它会在终端显示运行日志
  16. # 一定要在这个 flag 为 True 的时候进行操作
  17. while not voice.status['init']:
  18. continue
  19. # 发送 sms
  20. res1 = voice.send_sms('+18566712333', 'Hello World!')
  21. # {"ok":true,"data":{"code":0}}
  22. # 拨打电话
  23. res2 = voice.call('+18566712333')
  24. # {"ok":true,"data":{"code":0,"callId":"XXXXXXXXX...."}}
  25. # 取消拨打
  26. res3 = voice.cancel_call(res2['data']['callId'])
  27. # {"ok" : false}
  28. # 获取未读的 sms
  29. for i in voice.unsms: # 这个方法返回的是一个 list
  30. res4 = voice.mark(i['id']) # 标记为已读
  31. res5 = voice.mark(i['id'], 0) # 标记为未读
  32. # 获取未读的 voicemail
  33. for i in voice.voicemail: # 这个方法返回的是一个 list
  34. print(i['ogg_url']) # 语音下载地址
  35. res6 = voice.mark(i['id']) # 标记为已读

注意:

  1. Google Voice 是使用 C2C 模式拨打电话的,也就是说需要转接号码,如果你账号已经绑定了号码,那么程序会自动处理。
  2. 获取新消息处理之后,建议直接删除,或备份到数据库;如果不删除会影响新消息的数据处理。

声明

如果 Google 更改登录机制,或弃用旧版,本代码可能会不支持,如果你下载此代码,代表您同意自行承担使用风险。

许可

by Git @kentio
See LICENSE