Python-Weixin
Клиент Python для API-интерфейсов Weixin REST.
Совместимость
компонент | совместимость |
---|
Питон | двадцать три.* |
Установка
pip install python-weixin
Требует
* requests
* simplejson
* six
* xmltodict
* pycryptodome
Быстрый старт
- Публичная платформа WeChat
- Авторизация в WeChat
- WeChat Pay
- Облачная разработка мини-программы WeChat
Примеры использования апплета WeChat:
Документ для входа в апплет WeChat
Войдите в апплет 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 )
Аутентификация
Подробную информацию о методе аутентификации OAuth2, используемом API Weixin, см. на странице https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN.
Аутентификация пользователя
Пожалуйста, обратитесь к примеру приложения для конкретных методов использования.
Использование токена доступа
После получения токена доступа вы можете использовать его для получения информации о пользователе и т. д.:
Примеры использования открытой платформы WeChat:
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" )
Примеры использования публичной платформы WeChat:
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" )
Пример использования платежа WeChat:
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 )
Создать индивидуальное меню
Поддерживаемые типы кнопок
- click: событие Click push. После того, как пользователь нажимает кнопку типа клика, сервер WeChat передает структуру события типа сообщения разработчику через интерфейс сообщения (см. руководство по интерфейсу сообщения) и передает значение ключа, заполненное разработчиком. в кнопке Разработчик может взаимодействовать с пользователями посредством настраиваемых значений ключей;
- Просмотр: URL-адрес перехода. После того, как пользователь нажмет кнопку типа просмотра, клиент WeChat откроет URL-адрес веб-страницы, указанный разработчиком в кнопке. Его можно объединить с интерфейсом авторизации веб-страницы, чтобы получить основную информацию пользователя для получения. основная информация пользователя.
- scancode_push: после того, как пользователь нажмет кнопку в событии отправки кода сканирования, клиент WeChat активирует инструмент сканирования. После завершения операции сканирования кода будет отображен результат сканирования (если это URL-адрес, будет введен URL-адрес). , и результат сканирования кода будет передан разработчику, разработчики смогут отправлять сообщения.
- scancode_waitmsg: отсканируйте код, чтобы отправить событие, и появится всплывающее окно с подсказкой «Получение сообщения». После того, как пользователь нажмет кнопку, клиент WeChat запустит инструмент сканирования. После завершения операции сканирования кода появится результат сканирования кода. будет отправлено разработчику и в то же время оно будет закрыто. Отсканируйте инструмент, после чего появится всплывающее окно «Получение сообщения», и вы сможете получить сообщение от разработчика.
- pic_sysphoto: после того, как пользователь нажмет кнопку, чтобы сделать снимок и отправить изображение в систему, клиент WeChat вызовет системную камеру. После завершения операции съемки сделанный снимок будет отправлен разработчику, и событие будет выполнено. передать разработчику. При этом системная камера будет убрана, после чего Вы сможете получать сообщения от разработчиков.
- pic_photo_or_album: после того, как пользователь нажмет кнопку, чтобы сделать фотографию или отправить изображение в альбом, в клиенте WeChat появится всплывающий селектор, позволяющий пользователю выбрать «сделать фотографию» или «выбрать из альбома мобильного телефона». После того, как пользователь сделает выбор, он пройдет через два других процесса.
- pic_weixin: После того, как пользователь нажмет кнопку всплывающего отправителя фотоальбома WeChat, клиент WeChat вызовет фотоальбом WeChat. После завершения операции выбора выбранные фотографии будут отправлены на сервер разработчика, и событие завершится. будет отправлен разработчику. При этом фотоальбом будет закрыт. После этого вы можете получить сообщение от разработчика.
- location_select: после того, как пользователь нажмет кнопку всплывающего выбора географического местоположения, клиент WeChat вызовет инструмент выбора географического местоположения. После завершения операции выбора выбранное географическое местоположение будет отправлено на сервер разработчика, и местоположение. Инструмент выбора при этом будет закрыт. Инструмент выбора местоположения может быть «Получить сообщение от разработчика».
- media_id: отправлять сообщения (кроме текстовых сообщений). После того, как пользователь нажмет кнопку типа media_id, сервер WeChat отправит пользователю материал, соответствующий постоянному идентификатору материала, заполненному разработчиком. Постоянным типом материала могут быть изображения и аудио. , видео и графические сообщения. Обратите внимание: постоянный идентификатор материала должен быть юридическим идентификатором, полученным после загрузки через интерфейс «Управление материалами/Добавить постоянный материал».
- view_limited: переход к URL-адресу графического сообщения. После того, как пользователь нажмет кнопку типа view_limited, клиент WeChat откроет URL-адрес графического сообщения, соответствующий постоянному идентификатору материала, указанному разработчиком в кнопке. Постоянный тип материала поддерживает только графические сообщения. . Обратите внимание: постоянный идентификатор материала должен быть юридическим идентификатором, полученным после загрузки через интерфейс «Управление материалами/Добавить постоянный материал».
Описание параметров пользовательского меню
параметр | Это необходимо | иллюстрировать |
---|
кнопка | да | Массив меню первого уровня, число должно быть от 1 до 3. |
суб_кнопка | нет | Массив вторичного меню, число должно быть от 1 до 5. |
тип | да | Тип действия ответа меню |
имя | да | Название меню, не более 16 байт, подменю не более 40 байт. |
ключ | Требуются клики и другие типы кликов. | Значение KEY меню, используемое для отправки интерфейса сообщения, не более 128 байт. |
URL | тип представления должен быть | Веб-ссылка, пользователь может щелкнуть меню, чтобы открыть ссылку, не более 1024 байт. |
media_id Тип media_id и тип view_limited должны быть допустимым media_id, возвращаемым при вызове нового постоянного интерфейса материала. | | |
Управление сообщениями
Пассивный ответ
Пассивный ответ — это то, что включается в ответ после того, как пользователь делает запрос.
См. официальный справочный документ по телу сообщения: Пассивно отвечать на сообщения пользователей.
Сообщение службы поддержки клиентов
Список API
- add_customservice Добавить учетную запись службы поддержки клиентов
- update_customservice Изменить учетную запись службы поддержки клиентов
- delete_customservice удалить учетную запись службы поддержки клиентов
- getall_customservice Получить все учетные записи службы поддержки клиентов
- custom_message_send Отправить сообщение в службу поддержки клиентов
Пожалуйста, ознакомьтесь с официальным справочным документом для сообщения: Сообщение службы поддержки клиентов.
шаблон сообщения
Список API
Текст сообщения см. в официальном справочном документе: Шаблон сообщения.
Если у вас есть вопросы, вы можете обсудить их в официальном аккаунте.
благодарный