async_piaoquan_api.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from typing import Optional, Dict, List
  2. from applications.utils import AsyncHttPClient
  3. async def fetch_piaoquan_video_list_detail(video_list: List[int]) -> Optional[Dict]:
  4. """async fetch piaoquan video detail"""
  5. url = "https://longvideoapi.piaoquantv.com/longvideoapi/openapi/video/batchSelectVideoInfo"
  6. data = {"videoIdList": video_list}
  7. header = {
  8. "Content-Type": "application/json",
  9. }
  10. async with AsyncHttPClient() as client:
  11. response = await client.post(url, json=data, headers=header)
  12. return response
  13. async def change_video_audit_status(video_id: int, status_code: int = 5) -> Dict:
  14. url = "https://admin.piaoquantv.com/manager/video/audit/v2/updateAuditStatus"
  15. payload = "videoId={}&auditStatus={}&updateReasonJson=&rejectReasonJson=%5B%7B%22reason%22%3A%22%E9%95%BF%E6%96%87%E8%87%AA%E5%8A%A8%E4%B8%8B%E6%9E%B6%22%2C%22reasonId%22%3A-1%7D%5D&adminUid=206".format(
  16. video_id, status_code
  17. )
  18. headers = {
  19. "accept": "application/json",
  20. "accept-language": "en,zh;q=0.9,zh-CN;q=0.8",
  21. "Content-Type": "application/json",
  22. "cookie": "",
  23. "origin": "https://admin.piaoquantv.com",
  24. "priority": "u=1, i",
  25. "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
  26. "sec-ch-ua-mobile": "?0",
  27. "sec-ch-ua-platform": '"macOS"',
  28. "sec-fetch-dest": "empty",
  29. "sec-fetch-mode": "cors",
  30. "sec-fetch-site": "same-origin",
  31. "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
  32. }
  33. async with AsyncHttPClient() as client:
  34. response = await client.post(url, data=payload, headers=headers)
  35. return response
  36. async def publish_video_to_piaoquan(oss_path: str, uid: str, title: str) -> Dict:
  37. url = "https://vlogapi.piaoquantv.com/longvideoapi/crawler/video/send"
  38. headers = {
  39. "User-Agent": "PQSpeed/486 CFNetwork/1410.1 Darwin/22.6.0",
  40. "cookie": "JSESSIONID=4DEA2B5173BB9A9E82DB772C0ACDBC9F; JSESSIONID=D02C334150025222A0B824A98B539B78",
  41. "referer": "http://appspeed.piaoquantv.com",
  42. "token": "524a8bc871dbb0f4d4717895083172ab37c02d2f",
  43. "accept-language": "zh-CN,zh-Hans;q=0.9",
  44. "Content-Type": "application/json",
  45. }
  46. payload = {
  47. "deviceToken": "9ef064f2f7869b3fd67d6141f8a899175dddc91240971172f1f2a662ef891408",
  48. "fileExtensions": "MP4",
  49. "loginUid": uid,
  50. "networkType": "Wi-Fi",
  51. "platform": "iOS",
  52. "requestId": "fb972cbd4f390afcfd3da1869cd7d001",
  53. "sessionId": "362290597725ce1fa870d7be4f46dcc2",
  54. "subSessionId": "362290597725ce1fa870d7be4f46dcc2",
  55. "title": title,
  56. "token": "524a8bc871dbb0f4d4717895083172ab37c02d2f",
  57. "uid": uid,
  58. "versionCode": "486",
  59. "versionName": "3.4.12",
  60. "videoFromScene": "1",
  61. "videoPath": oss_path,
  62. "viewStatus": "1",
  63. "appType": 888888,
  64. "repeatStatus": 1,
  65. }
  66. async with AsyncHttPClient() as client:
  67. response = await client.post(url, data=payload, headers=headers)
  68. return response