python weixin
支持微信小程序云开发
Weixin REST API 用の Python クライアント
成分 | 互換性 |
---|---|
パイソン | 23。* |
pip install python-weixin
* requests
* simplejson
* six
* xmltodict
* pycryptodome
WeChat アプレットのログイン文書
Python は小さなプログラムのログインと登録を実装します
from weixin import WXAPPAPI
from weixin . lib . wxcrypt import WXBizDataCrypt
api = WXAPPAPI ( appid = APP_ID ,
app_secret = APP_SECRET )
session_info = api . exchange_code_for_session_key ( code = code )
# 获取session_info 后
session_key = session_info . get ( 'session_key' )
crypt = WXBizDataCrypt ( WXAPP_APPID , session_key )
# encrypted_data 包括敏感数据在内的完整用户信息的加密数据
# iv 加密算法的初始向量
# 这两个参数需要js获取
user_info = crypt . decrypt ( encrypted_data , iv )
Weixin API で使用される OAuth2 認証方法の詳細については、https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN を参照してください。
具体的な利用方法についてはサンプルアプリをご参照ください。
アクセス トークンを取得したら、そのトークンを使用してユーザー情報などを取得できます。
from weixin . client import WeixinAPI
scope = ( "snsapi_login" , )
api = WeixinAPI ( appid = APP_ID ,
app_secret = APP_SECRET ,
redirect_uri = REDIRECT_URI )
authorize_url = api . get_authorize_url ( scope = scope )
access_token = api . exchange_code_for_access_token ( code = code )
api = WeixinAPI ( access_token = access_token )
user = api . user ( openid = "openid" )
from weixin . client import WeixinMpAPI
scope = ( "snsapi_base" , )
api = WeixinMpAPI ( appid = APP_ID ,
app_secret = APP_SECRET ,
redirect_uri = REDIRECT_URI )
authorize_url = api . get_authorize_url ( scope = scope )
access_token = api . exchange_code_for_access_token ( code = code )
api = WeixinMpAPI ( access_token = access_token )
user = api . user ( openid = "openid" )
from weixin . pay import WeixinPay
wxpay = WeixinPay ( appid = 'appid' ,
mch_id = 'mchid' ,
notify_url = 'url' ,
partner_key = 'key' )
create_pay_info = {}
# 统一下单
wxpay . unifiedorder ( ** create_pay_info )
# 查询订单
wxapp . order_query ( out_trade_no = 'out_trade_no' )
# 企业付款
wxepay = WeixinEnterprisePay ( appid = 'appid' ,
mch_id = 'mchid' ,
mch_key = 'mch_key' ,
mch_cert = 'mch_cert' ,
partner_key = 'key' )
wxepay . transfers ( partner_trade_no ,
openid ,
amount ,
desc = u'结算' )
# 企业付款查询
wxepay_query = WeixinEnterprisePayQuery ( appid = 'appid' ,
mch_id = 'mchid' ,
mch_key = 'mch_key' ,
mch_cert = 'mch_cert' ,
partner_key = 'key' )
wxepay_query . gettransferinfo ( partner_trade_no )
パラメータ | 必要ですか | 説明する |
---|---|---|
ボタン | はい | 第 1 レベルのメニュー配列。番号は 1 ~ 3 である必要があります。 |
サブボタン | いいえ | 二次メニュー配列。数値は 1 ~ 5 である必要があります。 |
タイプ | はい | メニュー応答アクションの種類 |
名前 | はい | メニュータイトル、16バイト以内、サブメニュー40バイト以内 |
鍵 | クリックおよびその他のクリック タイプが必要です | メニュー KEY 値、メッセージ インターフェイスのプッシュに使用、128 バイト以内 |
URL | ビュータイプは必須です | Web リンク。ユーザーはメニューをクリックしてリンクを開くことができます。1024 バイト以内 |
media_id media_id タイプと view_limited タイプは、新しい永続マテリアル インターフェイスを呼び出すことによって返される有効な media_id である必要があります |
受動的な応答は、ユーザーがリクエストを行った後の応答に含まれるものです。
メッセージ本文については、公式リファレンス ドキュメントを参照してください: ユーザー メッセージに受動的に返信する
APIリスト
メッセージの公式参照ドキュメントを参照してください: カスタマー サービス メッセージ
APIリスト
メッセージ本文については、公式リファレンスドキュメント「テンプレートメッセージ」を参照してください。