Klien Python untuk Weixin REST API
komponen | kesesuaian |
---|---|
ular piton | dua puluh tiga.* |
pip install python-weixin
* requests
* simplejson
* six
* xmltodict
* pycryptodome
Dokumen login applet WeChat
Python mengimplementasikan login dan registrasi program kecil
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 )
Untuk detail tentang metode autentikasi OAuth2 yang digunakan oleh Weixin API, silakan lihat: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
Silakan merujuk ke contoh aplikasi untuk metode penggunaan tertentu.
Setelah mendapatkan token akses, Anda dapat menggunakan token tersebut untuk mendapatkan informasi pengguna, dll.:
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 )
parameter | Apakah itu perlu | menjelaskan |
---|---|---|
tombol | Ya | Array menu tingkat pertama, jumlahnya harus 1~3 |
sub_tombol | TIDAK | Array menu sekunder, jumlahnya harus 1~5 |
jenis | Ya | Jenis tindakan respons menu |
nama | Ya | Judul menu, tidak lebih dari 16 byte, submenu tidak lebih dari 40 byte |
kunci | Klik dan jenis klik lainnya diperlukan | Nilai Menu KEY, digunakan untuk antarmuka pesan push, tidak lebih dari 128 byte |
url | tipe tampilan harus | Tautan web, pengguna dapat mengklik menu untuk membuka tautan, tidak lebih dari 1024 byte |
media_id tipe media_id dan tipe view_limited harus merupakan media_id legal yang dikembalikan dengan memanggil antarmuka materi permanen yang baru |
Balasan pasif adalah apa yang disertakan dalam respons setelah pengguna membuat permintaan
Silakan lihat dokumen referensi resmi untuk isi pesan: Membalas pesan pengguna secara pasif
daftar API
Silakan lihat dokumen referensi resmi untuk pesan tersebut: Pesan Layanan Pelanggan
daftar API
Untuk isi pesan, lihat dokumen referensi resmi: Pesan Templat