{ "info": { "author": "David", "author_email": "pengfei.zhu@ele.me", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# Python SDK \u63a5\u5165\u6307\u5357 & CHANGELOG\n\n## \u63a5\u5165\u6307\u5357\n 1. Python version >= 3.0\n 2. \u4fee\u6539config.py\u4e2d\u7684app_key\u548csecret\u914d\u7f6e\u4ee5\u53cacallback_url\u914d\u7f6e\uff0c\u5c06\u5f00\u53d1\u8005\u4e2d\u5fc3\u540e\u53f0\u7533\u8bf7\u7684\u5e94\u7528\u6c99\u7bb1\u73af\u5883\u7684app_key\u548csecret\u5206\u522b\u586b\u5165\u914d\u7f6e\u6587\u4ef6\uff0c\u586b\u5199callback_url\n 3. \u4f7f\u7528sdk\u63d0\u4f9b\u7684\u63a5\u53e3\u8fdb\u884c\u5f00\u53d1\u8c03\u8bd5\n 4. \u4e0a\u7ebf\u524d\u5c06config.py\u4e2d__sandbox\u503c\u8bbe\u4e3aTrue\u4ee5\u53ca\u586b\u5165\u6b63\u5f0f\u73af\u5883\u7684key\u548csecret\u4ee5\u53cacallback_url\n \n\n## \u4ee3\u7801\u793a\u4f8b\n\n### \u4f01\u4e1a\u5e94\u7528\n\n - \u7b2c\u4e00\u6b65 \u5f15\u5165sdk\u548c\u9879\u76ee\u914d\u7f6e\n\nmkdir sdk && cd sdk && git clone git@github.com:ahahaber/python-sdk.git\n \n```python\n from sdk.library.oauth.oauth_client import OAuthClient\n from sdk.library.apis.shop_service import ShopService\n from sdk.library.protocol.rpc_client import RpcClient\n from sdk.config import Config\n```\n \n - \u7b2c\u4e8c\u6b65 \u5b9e\u4f8b\u5316\u4e00\u4e2aoauth2.0\u5ba2\u6237\u7aef\u6388\u6743\u6a21\u5f0f\u7684\u6388\u6743\u5bf9\u8c61\n \n```python\n oauth_client = OAuthClient(Config.get_app_key(), Config.get_secret(), Config.get_callback_url())\n```\n\n - \u7b2c\u4e09\u6b65 \u83b7\u53d6\u751f\u6210\u6388\u6743url\n\n```python\n auth_url = oauth_client.get_auth_url(state, scope)\n```\n\n - \u7b2c\u56db\u6b65 \u5728\u6388\u6743url\u4e2d\u540c\u610f\u6388\u6743\u540e\uff0c\u4f1a\u8df3\u8f6c\u5230CALLBACK_URL\u7684\u9875\u9762\uff0c\u5728\u901a\u8fc7\u94fe\u63a5\u4e0a\u7684\u53c2\u6570\uff0c\u83b7\u53d6\u6388\u6743\u7801code\n\n\n - \u7b2c\u4e94\ufe0f\u6b65 \u901a\u8fc7code\u83b7\u53d6token\u5bf9\u8c61,\u6b64\u6b65\u83b7\u53d6\u5230\u7684token\u5bf9\u8c61\u53ef\u5728\u6709\u6548\u671f\u5185\u4e00\u76f4\u4f7f\u7528\uff0c\u4e0d\u7528\u6bcf\u6b21\u8c03\u7528\u524d\u90fd\u53bb\u83b7\u53d6\u4e00\u6b21\uff0c\u5efa\u8bae\u5e94\u7528\u6388\u6743\u4e00\u6b21\u540e\u5b58\u653e\u5230\u5168\u5c40\u7f13\u5b58\u4e2d\n\n```python\n token = oauth_client.get_token_by_code(code)\n```\n\n - \u7b2c\u516d\u6b65 \u5b9e\u4f8b\u5316\u8fdc\u7a0b\u8c03\u7528\u7684client\u5bf9\u8c61\n\n```python\n\trpc_client = RpcClient(token, Config.get_app_key(), Config.get_secret(), Config.get_api_server_url())\n```\n\n - \u7b2c\u4e03\u6b65 \u5b9e\u4f8b\u5316\u4e00\u4e2a\u670d\u52a1\u5bf9\u8c61\n\n```python\n shop_service = ShopService(rpc_client)\n```\n\n - \u7b2c\u516b\u6b65 \u8c03\u7528\u670d\u52a1\u65b9\u6cd5\uff0c\u83b7\u53d6\u8d44\u6e90\u6570\u636e\n\n```python\n shop = shop_service.get_shop(123456)\n```\n\n - \u7b2c\u4e5d\u6b65 \u5982\u679ctoken\u8fc7\u671f\uff0c\u901a\u8fc7refresh_token\u6362\u53d6\u65b0\u7684token\n```python\n refresh_token = token[\"refresh_token\"]\n token = oauth_client.get_token_by_refresh_token(refresh_token, scope)\n```\n\n### \u4e2a\u4eba\u5e94\u7528\n\n\n - \u7b2c\u4e00\u6b65 \u5f15\u5165sdk\u548c\u9879\u76ee\u914d\u7f6e\n\nmkdir sdk && cd sdk && git clone git@github.com:ahahaber/python-sdk.git\n\n```python\n from sdk.library.oauth.oauth_client import OAuthClient\n from sdk.library.apis.shop_service import ShopService\n from sdk.library.protocol.rpc_client import RpcClient\n from sdk.config import Config\n```\n\n - \u7b2c\u4e8c\u6b65 \u5b9e\u4f8b\u5316\u4e00\u4e2aoauth2.0\u5ba2\u6237\u7aef\u6388\u6743\u6a21\u5f0f\u7684\u6388\u6743\u5bf9\u8c61\n\n```python\n oauth_client = OAuthClient(Config.get_app_key(), Config.get_secret(), Config.get_callback_url())\n```\n\n - \u7b2c\u4e09\ufe0f\u6b65 \u83b7\u53d6token\u5bf9\u8c61,\u6b64\u6b65\u83b7\u53d6\u5230\u7684token\u5bf9\u8c61\u53ef\u5728\u6709\u6548\u671f\u5185\u4e00\u76f4\u4f7f\u7528\uff0c\u4e0d\u7528\u6bcf\u6b21\u8c03\u7528\u524d\u90fd\u53bb\u83b7\u53d6\u4e00\u6b21\uff0c\u5efa\u8bae\u5e94\u7528\u6388\u6743\u4e00\u6b21\u540e\u5b58\u653e\u5230\u5168\u5c40\u7f13\u5b58\u4e2d\n\n```python\n token = oauth_client.get_token_in_client_credentials()\n```\n\n - \u7b2c\u56db\u6b65 \u5b9e\u4f8b\u5316\u8fdc\u7a0b\u8c03\u7528\u7684client\u5bf9\u8c61\n\n```python\n\trpc_client = RpcClient(token, Config.get_app_key(), Config.get_secret(), Config.get_api_server_url())\n```\n\n - \u7b2c\u4e94\u6b65 \u5b9e\u4f8b\u5316\u4e00\u4e2a\u670d\u52a1\u5bf9\u8c61\n\n```python\n shop_service = ShopService(rpc_client)\n```\n\n - \u7b2c\u516d\u6b65 \u8c03\u7528\u670d\u52a1\u65b9\u6cd5\uff0c\u83b7\u53d6\u8d44\u6e90\u6570\u636e\n\n```python\n shop = shop_service.get_shop(123456)\n```\n\n\n## CHANGELOG:\n\n### [v1.1.2]\n\n Release Date : 2017-02-09\n\n - [BugFix] \u4fee\u590d\u4e86token\u83b7\u53d6\u7684\u95ee\u9898\n\n### [v1.1.1]\n\n Release Date : 2017-01-24\n\n - [Feature] \u91cd\u65b0\u652f\u6301\u4e2a\u4eba\u5e94\u7528\u6388\u6743\uff0c\u5728oauth_client\u4e2d\u6dfb\u52a0get_token_in_client_credentials\u65b9\u6cd5\n\n### [v1.1.0]\n\n Release Date : 2017-01-24\n\n - [Feature] \u66f4\u65b0\u4e86\u6388\u6743\u6a21\u5f0f\u4e3a\u4f01\u4e1a\u5e94\u7528\u6388\u6743\uff0c\u4e2a\u4eba\u5e94\u7528\u6388\u6743\u7684\u65b9\u6cd5\u4e0d\u5728\u652f\u6301\uff0c\u5bf9\u5e94\u7684\u5de5\u5177\u7c7b\u7531client_credentials\u66f4\u6362\u4e3aoauth_client\n\n### [v1.0.4]\n\n Release Date : 2017-01-19\n\n- [Feature] \u65b0\u589eUserService\n\n### [v1.0.3]\n\n Release Date : 2017-01-04\n\n- [Improvement] token\u4f20\u5165\u7684\u65f6\u5019\u7531\u5b57\u7b26\u4e32\u6539\u4e3a\u5bf9\u8c61\uff0c\u5e76\u6dfb\u52a0\u4e86\u672c\u5730\u6821\u9a8c\n\n### [v1.0.2]\n\n Release Date : 2016-12-21\n\n- [Improvement] updateItem\u6dfb\u52a0\u4e86\u53c2\u6570categoryId\n\n\n### [v1.0.1]\n\n Release Date : 2016-12-02\n\n- [Improvement] \u5347\u7ea7\u4f7f\u7528python3\n\n \n### [v1.0.0]\n\n Release Date : 2016-11-19\n\n- [Feature] sdk\u5b8c\u6574\u5b9e\u73b0\n- [Feature] \u589e\u52a0\u63a5\u53e3\u8c03\u7528\u4ee3\u7801\u793a\u4f8b demo/main.py", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "test python package", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "zhupengfei.eleme", "package_url": "https://pypi.org/project/zhupengfei.eleme/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zhupengfei.eleme/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/zhupengfei.eleme/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "this is a test package for packing python liberaries tutorial.", "version": "1.0.0" }, "last_serial": 2685279, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "77eeb72136313dd61fc1e56197d7204e", "sha256": "574fb8638f92d094426f75afc7d871f281fb54f1c5fba279643f24971d0e3d4d" }, "downloads": -1, "filename": "zhupengfei.eleme-1.0.0.tar.gz", "has_sig": false, "md5_digest": "77eeb72136313dd61fc1e56197d7204e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3516, "upload_time": "2017-03-06T08:22:35", "url": "https://files.pythonhosted.org/packages/77/a6/c83bd6deddbae738932f09667402b4e67e0d258ef1e2df7aa80f4d0d81a6/zhupengfei.eleme-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77eeb72136313dd61fc1e56197d7204e", "sha256": "574fb8638f92d094426f75afc7d871f281fb54f1c5fba279643f24971d0e3d4d" }, "downloads": -1, "filename": "zhupengfei.eleme-1.0.0.tar.gz", "has_sig": false, "md5_digest": "77eeb72136313dd61fc1e56197d7204e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3516, "upload_time": "2017-03-06T08:22:35", "url": "https://files.pythonhosted.org/packages/77/a6/c83bd6deddbae738932f09667402b4e67e0d258ef1e2df7aa80f4d0d81a6/zhupengfei.eleme-1.0.0.tar.gz" } ] }