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类。forName(“org.sqlite.JDBC”)不工作。ClassNotFound异常   使用java代码更改计算机密码   java为什么我的BlueJ jar文件会加载一些图像,而不是其他图像?   合并2个项目时java SolrJ版本不匹配   如果使用JavaFX,java无法从带有NetBeans的项目创建可运行文件   Java的“while”循环问题   java如何从关系中仅检索属性而不是实体?   java JTable不显示列名称   java Android通过KVMSerizable循环   java是否可以在Android项目中运行最新版本的Akka框架(2.5.2)?   java脚本在网站上删除后重置元素   java我应该在哪里声明一个类中的变量以在另一个类中使用?   java错误:不可比较的类型:double和<null>   java如何将SQL Select子查询传输到JPQL?   使用两个循环,但只有一个循环通过。计算机科学导论。(爪哇)   使用流和子字符串的java HashMap   java MpAndroidChart。柱状图到云   java是一个异常方法,它记录并抛出异常,异常作为参数出现   java Android:这个警告是什么意思?