<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Weixin on 古思乱想</title><link>https://blog.gusibi.site/tags/weixin/</link><description>Recent content in Weixin on 古思乱想</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 08 Jul 2018 15:04:52 +0800</lastBuildDate><atom:link href="https://blog.gusibi.site/tags/weixin/index.xml" rel="self" type="application/rss+xml"/><item><title>Python 生成便签图片</title><link>https://blog.gusibi.site/post/python-text-to-image/</link><pubDate>Sun, 08 Jul 2018 15:04:52 +0800</pubDate><guid>https://blog.gusibi.site/post/python-text-to-image/</guid><description>python 文字转图片</description></item><item><title>newrelic python agent 源码分析-1</title><link>https://blog.gusibi.site/post/newrelic-python-agent-source-code-1/</link><pubDate>Wed, 16 May 2018 20:17:13 +0800</pubDate><guid>https://blog.gusibi.site/post/newrelic-python-agent-source-code-1/</guid><description>newrelic python agent 源码分析</description></item><item><title>小程序开发：上传图片到腾讯云</title><link>https://blog.gusibi.site/post/wxapp-dev-upload-image-to-tencentyun-cos/</link><pubDate>Sun, 27 Aug 2017 12:17:13 +0800</pubDate><guid>https://blog.gusibi.site/post/wxapp-dev-upload-image-to-tencentyun-cos/</guid><description>微信小程序上传图片到腾讯云</description></item><item><title>小程序开发：python sanic 实现小程序登录注册</title><link>https://blog.gusibi.site/post/wxapp-dev-how-to-login-and-register-by-python-sanic/</link><pubDate>Sun, 30 Jul 2017 12:17:13 +0800</pubDate><guid>https://blog.gusibi.site/post/wxapp-dev-how-to-login-and-register-by-python-sanic/</guid><description>python sanic 实现微信小程序登录注册</description></item><item><title>微信公号DIY：MongoDB 简易ORM &amp; 公号记账数据库设计</title><link>https://blog.gusibi.site/post/wechat-diy-keep-accounts-db-desgin/</link><pubDate>Sun, 16 Jul 2017 21:14:10 +0800</pubDate><guid>https://blog.gusibi.site/post/wechat-diy-keep-accounts-db-desgin/</guid><description>微信公号DIY python 实现 MongoDB 简易ORM &amp;amp; 公号记账应用数据库设计</description></item><item><title>微信公号DIY：训练聊天机器人&amp;公号变身图片上传工具</title><link>https://blog.gusibi.site/post/wechat-chatbot-trainer-upload-image/</link><pubDate>Sat, 08 Jul 2017 23:34:53 +0800</pubDate><guid>https://blog.gusibi.site/post/wechat-chatbot-trainer-upload-image/</guid><description>训练聊天机器人&amp;amp;公号变身图片上传工具</description></item><item><title>微信公号DIY：一小时搭建微信聊天机器人</title><link>https://blog.gusibi.site/post/wechat-chatbot-step-by-step/</link><pubDate>Wed, 05 Jul 2017 23:47:13 +0800</pubDate><guid>https://blog.gusibi.site/post/wechat-chatbot-step-by-step/</guid><description>1小时搭建微信聊天机器人</description></item><item><title>网站微信登录－python 实现</title><link>https://blog.gusibi.site/post/weixin-python-login/</link><pubDate>Mon, 05 Sep 2016 17:59:45 +0800</pubDate><guid>https://blog.gusibi.site/post/weixin-python-login/</guid><description>&lt;p&gt;最近我们的网站要加微信登录功能，找了python sdk 感觉都不满意，然后就参考instagram python sdk 自己造了轮子。&lt;/p&gt;
&lt;p&gt;轮子 github 地址 &lt;a href="https://github.com/gusibi/python-weixin"&gt;python-weixin&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="根据需求选择相应的登录方式"&gt;根据需求选择相应的登录方式&lt;/h3&gt;
&lt;p&gt;微信现在提供两种登录接入方式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;移动应用微信登录&lt;/li&gt;
&lt;li&gt;网站应用微信登录&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HUGOMORE42&lt;/p&gt;
&lt;p&gt;&lt;em&gt;这里我们使用的是网站应用微信登录&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;按照 官方流程&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;注册并通过开放平台开发者资质认证&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;注册微信开放平台帐号后，在帐号中心中填写开发者资质认证申请，并等待认证通过。&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;创建网站应用&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;通过填写网站应用名称、简介和图标，以及各平台下载地址等资料，创建网站应用&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;接入微信登录&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在资源中心查阅网站应用开发文档,开发接入微信登陆功能，让用户可使用微信登录你的网站应用&lt;/p&gt;
&lt;p&gt;如果已经完成上面的操作，请继续往下看&lt;/p&gt;
&lt;p&gt;微信网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。&lt;/p&gt;
&lt;p&gt;微信OAuth2.0授权登录目前支持authorization_code模式，适用于拥有server端的应用授权。该模式整体流程为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;第三方发起微信授权登录请求，微信用户允许授权第三方应用后，微信会拉起应用或重定向到第三方网站，并且带上授权临时票据code参数；&lt;/li&gt;
&lt;li&gt;通过code参数加上AppID和AppSecret等，通过API换取access_token；&lt;/li&gt;
&lt;li&gt;通过access_token进行接口调用，获取用户基本数据资源或帮助用户实现基本操作。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h4 id="获取access_token-时序图"&gt;获取access_token 时序图&lt;/h4&gt;
&lt;p&gt;&lt;img alt="获取access_token 时序图" loading="lazy" src="https://res.wx.qq.com/op_res/D0wkkHSbtC6VUSHX4WsjP5ssg5mdnEmXO8NGVGF34dxS9N1WCcq6wvquR4K_Hcut"&gt;&lt;/p&gt;
&lt;p&gt;具体流程请参考官方文档，我们这里只说一下python的实现方法。官方文档地址 &lt;a href="https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&amp;amp;t=resource/res_list&amp;amp;verify=1&amp;amp;lang=zh_CN&amp;amp;token=db685a316b7e3933cae42c5ca91d4e024125d1b8&amp;amp;appid=wx6d8c79fb64de6c08"&gt;点这里&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;参考python-instagram 我写了一个 [python-weixin] (&lt;a href="https://github.com/gusibi/python-weixin"&gt;https://github.com/gusibi/python-weixin&lt;/a&gt;)一个微信python SDK&lt;/p&gt;
&lt;p&gt;不过现在还只有微信接入、获取用户信息、 刷新refresh_token 等简单功能&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="安装"&gt;安装&lt;/h3&gt;
&lt;h4 id="方法一-手动安装"&gt;方法一 手动安装&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;首先 需要把代码clone到本地&lt;/li&gt;
&lt;li&gt;python setup.py install&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="方法二-pip-install"&gt;方法二 pip install&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install git+https://github.com/gusibi/python-weixin.git@master
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="使用方式"&gt;使用方式&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; weixin.client &lt;span style="color:#f92672"&gt;import&lt;/span&gt; WeixinAPI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;APP_ID &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;your app id&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;APP_SECRET &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;your app secret&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;REDIRECT_URI &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;http://your_domain.com/redirect_uri&amp;#39;&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 这里一定要注意 地址一定要加上http/https&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;scope &lt;span style="color:#f92672"&gt;=&lt;/span&gt; (&lt;span style="color:#e6db74"&gt;&amp;#34;snsapi_login&amp;#34;&lt;/span&gt;, )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;api &lt;span style="color:#f92672"&gt;=&lt;/span&gt; WeixinAPI(appid&lt;span style="color:#f92672"&gt;=&lt;/span&gt;APP_ID,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; app_secret&lt;span style="color:#f92672"&gt;=&lt;/span&gt;APP_SECRET,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; redirect_uri&lt;span style="color:#f92672"&gt;=&lt;/span&gt;REDIRECT_URI)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;authorize_url &lt;span style="color:#f92672"&gt;=&lt;/span&gt; api&lt;span style="color:#f92672"&gt;.&lt;/span&gt;get_authorize_url(scope&lt;span style="color:#f92672"&gt;=&lt;/span&gt;scope)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;现在将 authorize_url地址(如 &lt;a href="http://yoursite.com/login/weixin"&gt;http://yoursite.com/login/weixin&lt;/a&gt;)在浏览器打开， 将跳转到微信登录页面，使用手机扫码登录后将跳转到&lt;/p&gt;</description></item></channel></rss>