| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import os
- import sys
- sys.path.append(os.path.dirname(os.path.dirname(__file__)))
- import httpx
- import aiohttp
- from config import logger
- from pydantic import BaseModel
- class DouyinUserInfoResponse(BaseModel):
- error_code: int
- data: dict
-
-
- async def get_user_info(open_id, access_token):
- url = "https://open.douyin.com/oauth/userinfo/"
- headers = {
- "Content-Type": "application/x-www-form-urlencoded"
- }
- data = {
- "open_id": open_id,
- "access_token": access_token
- }
- res = None
- async with httpx.AsyncClient() as client:
- response = await client.post(url, headers=headers, params=data)
- res = response.json().get("data")
- logger.debug(res)
- return res
- '''return
- {'data': {'avatar': 'https://p6.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-i-0813_66c4e34ae8834399bbf967c3d3c919db.jpeg?from=4010531038', 'avatar_larger': 'https://p11.douyinpic.com/aweme/1080x1080/aweme-avatar/tos-cn-i-0813_66c4e34ae8834399bbf967c3d3c919db.jpeg?from=4010531038', 'captcha': '', 'city': '', 'client_key': 'aw6aipmfdtplwtyq', 'country': '', 'desc_url': '', 'description': '', 'district': '', 'e_account_role': '', 'error_code': 0, 'gender': 0, 'log_id': '20240129142818189D643B12E3055CE271', 'nickname': '程序员马工', 'open_id': '_000QadFMhmU1jNCI3JdPnyVDL6XavC70dFy', 'province': '', 'union_id': 'b138db97-01ae-59bd-978a-1de8566186a8'}, 'message': 'success'}
- '''
-
- async def main():
- open_id = "_000QadFMhmU1jNCI3JdPnyVDL6XavC70dFy"
- access_token = "act.3.wl8L3DFQ3sj3uKYzQShOSs8HbOgKh0FVvjxKeaTum0ZOEXoyBI8D1N7gTBqGbrY32KP-Pm41EAvcobSheOBi8tvRdhj7m5-5ZVoprZZu_GN5J2KnH2fZ_X9_l7Q6iFyvpPoMkX3Zyom3PCkeRZp4Jg9sE2ZiwuvZVdnvft0A25uBWXvj2IEbWW_0Bf8="
-
- result = await get_user_info(open_id, access_token)
- logger.debug(result)
- if __name__ == "__main__":
- import asyncio
- asyncio.run(main())
|