wechatpy.work.client.api.oauth 源代码

# -*- coding: utf-8 -*-

from urllib.parse import quote

from wechatpy.client.api.base import BaseWeChatAPI


[文档]class WeChatOAuth(BaseWeChatAPI): OAUTH_BASE_URL = "https://open.weixin.qq.com/connect/oauth2/authorize"
[文档] def authorize_url(self, redirect_uri, state=None): """ 构造网页授权链接 详情请参考 https://work.weixin.qq.com/api/doc#90000/90135/91022 :param redirect_uri: 授权后重定向的回调链接地址 :param state: 重定向后会带上 state 参数 :return: 返回的 JSON 数据包 """ redirect_uri = quote(redirect_uri, safe=b"") url_list = [ self.OAUTH_BASE_URL, "?appid=", self._client.corp_id, "&redirect_uri=", redirect_uri, "&response_type=code&scope=snsapi_base", ] if state: url_list.extend(["&state=", state]) url_list.append("#wechat_redirect") return "".join(url_list)
[文档] def get_user_info(self, code): """ 获取访问用户身份 详情请参考 https://work.weixin.qq.com/api/doc#90000/90135/91023 :param code: 通过成员授权获取到的code :return: 返回的 JSON 数据包 """ return self._get( "user/getuserinfo", params={ "code": code, }, )