Unofficial python interface to the Jodel Api(based on IOS)

jodel-ios-api的Python项目详细描述


jodel ios api
==


构建状态python版本pypi版本许可证

jodel应用程序的私有api的非正式接口。不隶属于Jodel Venture GmbH*

我创建了它的repo,并修改了代码以遵循ios应用程序的行为。我本不应该破坏其版本的兼容性,但我删除了"旧版"帐户支持。



代码:

pip安装jodel_ios_api


或使用setup.py:

…代码:

git clone https://github.com/marbink/jodel廑ios廑u api.git
cd jodel廑ios廑u api
python setup.py install


-


代码::python

>;>import jodel廑ios廑u api
>;>lat,lng,city=48.148434,11.567867,"munich"
>;>jodel廑ios廑u api.jodelaccount.secret='secret廑here'。编码('ascii')
>;>j=jodel廑ios廑u api.jodelaccount(lat=lat,lng=lng,city=city)
正在创建新帐户。

``get_account_data()``返回与此帐户关联的所有数据
(由我审查):

…代码::python

>;>;j.获取帐户数据()
{'access_token':'xxx','expiration_date':1472660000,'refresh_token':'xxx','distinct_id':'xxx','device_uid':'xxx'}

保存此数据以便以后重用帐户,将其馈送到
jodelaccount()构造函数以重新初始化帐户。此构造函数发出一个更新帐户位置的请求。代码::python

>;>j=jodel_ios_api.jodelaccount(lat=lat,lng=lng,city=city,access_token='xxx',expiration_date='xxx',
refresh_token='xxx',distinct_id='xxx',device_uid='xxx',is_legacy=true)
(204,'')

添加"update\u location=false"以抑制此行为。
构造函数将只实例化一个对象,而不进行任何远程调用:

…代码::python

>;>j=jodel_ios_api.jodel account(lat=lat,lng=lng,city=city,update_location=false,**account_data)

在"过期日期"过去后,调用"刷新访问令牌"(refresh_access_tokens)`
重新验证。如果"刷新访问令牌"失败,请改用"刷新所有令牌"(这类似于创建新帐户,
,但保留帐户的数据(业力等)):

代码::python

>;>j.刷新访问令牌()
(200,{令牌类型':'承载者','访问令牌':'xxx','到期日':604800,'到期日':xxx})
>;>j.刷新所有令牌()
(200,{到期日':604800,'访问令牌':'xxx',"token-type":"bearer","returning":true,
"refresh-token":"xxx","expiration-date":1472600000,"distinct-id":"xxx})




api调用
~~~~~~~~~

从API响应分析),但也可能是字符串(错误消息)。


代码::python阅读文章的api方法:
>;>;j.获取最近的文章(skip=0,limit=60,after=none,mine=false,hashtag=none,channel=none)
>;>;j.获取热门的文章(skip=0,limit=60,after=none,mine=false,hashtag=none,channel=none)
>;>;j.获取讨论过的帖子(跳过=0,限制=60,之后=None,我的=False,标签=None,频道=None)
>;>;j.获取最近的图片(跳过=0,限制=60,之后=None)
>;>;j.获取热门图片(跳过=0,限制=60,之后=None)
>;>;j.获取讨论过的图片(跳过=0,限制=60,之后=无)
>;>j.获取我的固定帖子(跳过=0,限制=60,之后=无)
>;>j.获取我的回复帖子(跳过=0,限制=60,之后=无)
>;>j.获取我的投票帖子(跳过=0,限制=60,之后=无)
>;j.post_u搜索(消息,skip=0,limit=60)

j.get_post_details(post_id)此终结点已被弃用。使用get_post_u details懔v3.
>>>>gt;懔此API终结点实现分页并最多返回50个答复,
>>>gt;懔使用skip参数在线程中分页:
>;>;j.get懔u post懔u details懔v3(post懔u id,skip=0)
>;>;J.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U>>;j.禁用帖子通知(post_u id)
>;>j.删除帖子(post_u id)
仅对您自己的帖子有效

api与贴吧交互的方法:
>;>j.upvote戋u sticky戋u post(post戋u id)
>;>;>;j.解除"粘贴"帖子(post掼id)

api与通知交互的方法:
>;>j.获取通知()
>;>j.获取新通知()
>;>j.读取通知(post掼id=none,通知id=none)

j.unfollow_channel(channel)

与用户配置文件交互的api方法:
>;>j.set_location(lat、lng、city、country=none、name=none)country和name似乎没有影响
>;>j.set_user_profile(user_type=none、gender=none、age=none)
>>>j.获取用户配置
>>j.获取因果报应
>>j.获取验证码
>>j.提交验证码(密钥,应答)


虽然"skip"和"limit"是整数,但"after"是一个"post-id"参数,将返回该参数之后的所有
jodel。前两个参数似乎已被
弃用,取而代之的是后一个参数,但是"after"在所有`/mine/``端点(即``mine=true``或``get my x`posts``)上都不起作用。如果"mine"的计算结果为"true",则会丢弃其他两个参数
;如果"hashtag"的计算结果为"true",则会丢弃"channel"。

"post\u search()"是一个新的端点(截至6月17日),该端点尚未通过应用程序可用。它从您的位置返回包含给定字符串的所有帖子。

代码::python

>;>;j.upvote(post-id,timeout=5,proxies={'https':'127.0.0.1:5000'})


对于未实现的端点,请选中"issue"22
<;https://github.com/nborrmann/jodel-api/issues/22/>;`.



错误代码
~~~~~~~~~~~~~

-**401"未授权"**:您的"访问令牌"无效。要么你搞砸了,要么就过时了。您需要调用
``refresh_access_token()``或``refresh_all_token()```(请检查上面关于创建帐户的
部分)。
-**401"操作nOT ALLOWED"**:您使用的是带有is-legacy=true``的``4.48``帐户,但不允许``4.48``帐户降级。
-**403"拒绝访问"**:您的IP在跨终结点时被禁止,
只读终结点仍然有效。有效期24小时。
-**429"请求太多"**:您的IP受速率限制。仅将
应用于一个特定终结点。
-**477"需要签名的请求"**:此库应处理请求
签名。请确保升级到最新版本的"Jodel iOS_API",因为签名密钥每隔几周就会更改一次。
-**478"帐户未验证"**:通过GCM验证帐户。
-**502"坏网关"**:服务器端出了问题。这种情况非常随机。`` jodel_ios_api``当
看到此错误时,会自动重试两次。如果您遇到这种状态,jodel服务器可能有问题。请稍后再试。


速率限制
~~~~~~~~~~~~


Jodel API似乎有以下(基于IP的)速率限制

-每半小时最多从一个IP注册200个新帐户
-每分钟最多200个投票
-每分钟最多100个验证码请求

如果你做得过火,也要发403条禁令。代码::python

python setup.py test

…|构建状态图像::https://travis-ci.org/marbink/jodel_ios_api.svg?branch=master
:目标:https://travis ci.org/marbink/jodel_ios_api
…| python版本image::https://img.shields.io/pypi/pyversions/jodel_ios_api.svg
:目标:https://pypi.python.org/pypi/jodel_ios_api/
。| pypi版本image::https://img.shields.io/pypi/v/jodel_ios_api.svg
:目标:https://pypi.python.org/pypi/jodel_ios_api/
。|许可证图像::https://img.shields.io/pypi/l/jodel_ios_api.svg
:目标:https://pypi.python.org/pypi/jodel_ios_api/



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

推荐PyPI第三方库


热门话题
java Spark SQL:Sqlite不可解析日期   Java继承、匿名内部类实例成员、安卓回调方法   java交换面板和Swing中的数据传递   IntelliJ random“无法启动Java虚拟机”   带有Eclipse Luna RC3的java Weblogic 12c   java按钮java中的用户界面空指针异常错误   使用安卓 webview时,无法正确计算java Javascript方括号表示法。有什么建议吗?   java JAR文件无法识别我正在JAR中读取的文件的更新   如何解决错误:类java。木卫一。BufferedInputStream无法转换为类javax。xml。使改变后果   java如何获取数组/矩阵中的输出和列的和?   Java/Swing是否有(真实的)Office 2007外观?   在java中从URL提取实时汇率   Simon说的java闪烁按钮   java的收集方法是否足够有效?   位于::0的java错误找不到引用的切入点   java扩展父级的静态嵌套类和也扩展该父级的顶级类之间的差异   java停止向angular http发送响应并从控制器加载新的jsp页面   java JavaFX菜单不会下拉