Mercadolibre Python sdk的副本,但可以工作
melisdk的Python项目详细描述
Melisdk(Mercadolibre的Python sdk)
这不是Mercadolibre平台的官方Python sdk,但可以工作。你不能从pypi安装它。
如何安装?
$ pip3 install melisdk
从源头出发
$ git clone https://github.com/dany2691/melisdk.git
$ cd melisdk
$ python3 setup.py install
我怎么用?
首先要做的是实例化一个Meli
类。你需要给出一个clientId
和一个clientSecret
。您可以在创建自己的应用程序后获得这两个。有关此项的详细信息,请阅读:creating an application
包括lib
在项目中包含lib meli
注意
不要忘记在lib/config.ini文件中设置您所在国家的身份验证URL
frommelisdkimportMeli
开始开发!
创建meli类的实例
像这样简单
meli=Meli(client_id=1234,client_secret="a secret")
通过这个实例,您可以开始使用Mercadolibre的API。
有一些设计上的考虑值得一提。
这个sdk只是http客户端上的一个薄层,用于为您处理所有oauth web服务器流。
有json解析。此sdk将包含用于内部使用的json。
如果您已经拥有访问令牌和刷新令牌,则可以传入构造函数
meli=Meli(client_id=1234,client_secret="a secret",access_token="Access_Token",refresh_token="Refresh_Token")
如何重定向用户以授权我的应用程序?
这是一个两步的过程。
首先获取重定向用户的链接。这很容易!只是:
redirectUrl=meli.auth_url(redirect_URI="http://somecallbackurl")
这将为您提供重定向用户的url。您需要指定一个回调url,该url将是用户在成功的身份验证过程后重定向的url。
一旦用户被重定向到回调url,您将在查询字符串中收到一个名为code
的参数。在这个过程的第二部分你需要这个。
meli.authorize(code="the received code",redirect_URI="http://somecallbackurl")
这将为您的应用程序和用户获得一个access_token
和一个refresh_token
(如果您的应用程序具有offline_access
)。
在这个阶段,您已经准备好代表用户调用api。
拨打get电话
params={'access_token':meli.access_token}response=meli.get(path="/users/me",params=params)
打电话
params={'access_token':meli.access_token}#this body will be converted into json for youbody={'foo':'bar','bar':'foo'}response=meli.post(path="/items",body=body,params=params)
拨打PUT电话
params={'access_token':meli.access_token}#this body will be converted into json for youbody={'foo':'bar','bar':'foo'}response=meli.put(path="/items/123",body=body,params=params)
拨打删除电话
params={'access_token':meli.access_token}response=meli.delete(path="/questions/123",params=params)
我想做贡献!
太棒了!在github中分叉项目。创建主题分支,编写一些代码,并为新代码添加一些测试。
谢谢你的帮助!
开发设置
此项目使用pipenv进行依赖性解析。这是一种混合 皮普和维图阿列诺夫。按照下面的说明设置开发环境。
$ git clone https://github.com/dany2691/melisdk.git
$ cd melisdk
$ pipenv shell
$ pip3 install -e .
要运行测试套件,请在melisdk目录中:
$ python -m unittest -vv tests/test_meli.py
元
丹尼尔·奥马尔·维加拉·佩雷斯–@dan1_net–daniel.omar.vergara@gmail.com
贡献
- 叉它(https://gitlab.com/hexagondata_projects/melisdk)
- 创建功能分支(
git checkout -b feature/fooBar
) - 提交更改(
git commit -am 'Add some fooBar'
) - 推到分支(
git push origin feature/fooBar
) - 创建新的拉取请求