Youtube数据API CommentThreads.list:注释线程中显示“\u0445\u0430\u0432\u044b”的原始文本和显示文本

2024-09-29 19:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Google开发者网站上找到了一些源代码,可以帮助我通过CommentThreads.listYouTube数据API端点检索YouTube评论,但是当我执行该程序时,您可以在JSON响应中看到属性dispayTextoriginalText包含以下文本:

\u0445\u0430\u0432\u044b

(它可以是多种多样的)

请给我一个提示我做错了什么这是代码

import os
import json
import googleapiclient.discovery

def main():
    # Disable OAuthlib's HTTPS verification when running locally.
    # *DO NOT* leave this option enabled in production.
    os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"

    api_service_name = "youtube"
    api_version = "v3"
    DEVELOPER_KEY =*****

    youtube = googleapiclient.discovery.build(
        api_service_name, api_version, developerKey = DEVELOPER_KEY)

    request = youtube.commentThreads().list(
        part="snippet,replies",
        videoId="8X2Eg92x0xE",
        textFormat='plainText'
    )
    response = request.execute()

    print(json.dumps(response,indent=2))

if __name__ == "__main__":
    main()

API端点的响应为:

{
  "kind": "youtube#commentThreadListResponse",
  "etag": "EXoRH0QLHj489CmlxFtx7SfMdXs",
  "nextPageToken": "QURTSl9pM056MG5DWURxZktNbFBvU25OV01ENHNEUS03TlJBTXRtclJxdEJtbHNPaXZUYVBmWDVSZVJpZm1Hb0dlSVdWajc0aGxNV0lVRQ==",
  "pageInfo": {
    "totalResults": 20,
    "resultsPerPage": 20
  },
  "items": [
    {
      "kind": "youtube#commentThread",
      "etag": "8HgQH2sV128K2QYibRSRobFwCLw",
      "id": "UgwWhSYuhI4Dyq5xEo14AaABAg",
      "snippet": {
        "videoId": "8X2Eg92x0xE",
        "topLevelComment": {
          "kind": "youtube#comment",
          "etag": "xWiR7YCUHFOiUPTXDk9ghd_VYIA",
          "id": "UgwWhSYuhI4Dyq5xEo14AaABAg",
          "snippet": {
            "videoId": "8X2Eg92x0xE",
            "textDisplay": "\u0414\u0438\u043c\u0430 \u0432 7 \u0447\u0430\u0441\u0442\u0438 \"\u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\". \u0414\u0438\u043c\u0430 \u0432 8 \u0447\u0430\u0441\u0442\u0438 \"\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0451 \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u043d\u043e\"",
            "textOriginal": "\u0414\u0438\u043c\u0430 \u0432 7 \u0447\u0430\u0441\u0442\u0438 \"\u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\". \u0414\u0438\u043c\u0430 \u0432 8 \u0447\u0430\u0441\u0442\u0438 \"\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0451 \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u043d\u043e\"",

Tags: apiyoutubeu0430u043du0438u0442u0432u0435
1条回答
网友
1楼 · 发布于 2024-09-29 19:13:33

那代码没有问题

它们是JSON Unicode escape-sequences,用纯ASCII文本Unicode code points编码

JSON字符串"\u0445\u0430\u0432\u044b"作为"хавы"解码为UTF-8:

$ json -Pl <<< '"\u0445\u0430\u0432\u044b"'
"хавы"

$ jq <<< '"\u0445\u0430\u0432\u044b"'
"хавы"

(上面,我使用了程序json,它是我自己的应用程序Json-Type^{}的一部分。)

相关问题 更多 >

    热门问题