Youtube Data API CommentThreads.list:评论线程中的原始文本和显示文本显示“\u0445\u0430\u0432\u044b”
Posted
技术标签:
【中文标题】Youtube Data API CommentThreads.list:评论线程中的原始文本和显示文本显示“\\u0445\\u0430\\u0432\\u044b”【英文标题】:Youtube Data API CommentThreads.list: Original text and display text in comment thread showing "\u0445\u0430\u0432\u044b"Youtube Data API CommentThreads.list:评论线程中的原始文本和显示文本显示“\u0445\u0430\u0432\u044b” 【发布时间】:2021-08-28 00:40:28 【问题描述】:我在 Google Developers 网站上找到了一些源代码,可以帮助我通过 CommentThreads.list
YouTube 数据 API 端点检索 YouTube cmets,但是当我执行程序时,您可以在 JSON 响应中看到属性 dispayText
和 @987654323 @ 包含以下文字:
\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\"",
【问题讨论】:
【参考方案1】:该代码没有任何问题。
那些是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——和jq
。)
【讨论】:
以上是关于Youtube Data API CommentThreads.list:评论线程中的原始文本和显示文本显示“\u0445\u0430\u0432\u044b”的主要内容,如果未能解决你的问题,请参考以下文章
使用 YouTube Data API v3 确定 YouTube 频道的上传速率
Youtube [Data-API] LiveChat,登录用户为版主
使用 Youtube Data API V3 和 Google API Client PHP 将视频上传到 Youtube - 获取 401(未经授权)消息
Youtube Data API V3 - 使用google.youtube.videos.list()获取视频时出错
Youtube Data API V3 - 使用 google.youtube.videos.list() 获取视频时出错
YouTube 频道中的“已发布视频”和“上传”有啥区别?以及如何通过 YouTube Data v3 API 获取它们?