【问题标题】:Invalid character error on YouTube-API for keywords/tags (when there's no invalid characters)YouTube-API 上针对关键字/标签的无效字符错误(当没有无效字符时)
【发布时间】:2014-04-02 23:38:10
【问题描述】:

我一直在尝试制作一个将 YouTube 视频上传到我的频道的脚本,我希望在上传时有一个进度条,因此我一直在尝试修改此脚本,而不是直接使用 YouTube API:@987654321 @ 允许直接从另一个脚本而不是命令行调用。

你可以在这里查看我当前版本的脚本:http://pastebin.com/3BpTHBXm

我得到的错误:

Traceback (most recent call last):
  File "youtube_upload.py", line 606, in <module>
    print upload_youtube_video("youtube@email.com", "password", "This is a test title", "this is a test description", "Games", "test tag, I like tagging, tagging is fun", "/root/test video.mp4")
  File "youtube_upload.py", line 594, in upload_youtube_video
    url = upload_from_script(email, password, title, description, category, keywords, file_path)
  File "youtube_upload.py", line 588, in upload_from_script
    return run_main(parser, options, args)
  File "youtube_upload.py", line 454, in run_main
    url = upload_video(youtube, options, video_path, len(args), index)
  File "youtube_upload.py", line 371, in upload_video
    data = youtube.get_upload_form_data(*args, **kwargs)
  File "youtube_upload.py", line 204, in get_upload_form_data
    post_url, token = self.service.GetFormUploadToken(entry)
  File "/usr/local/lib/python2.7/dist-packages/gdata/youtube/service.py", line 721, in GetFormUploadToken
    raise YouTubeError(e.args[0])
gdata.youtube.service.YouTubeError: {'status': 400, 'body': "<?xml version='1.0' encoding='UTF-8'?><errors><error><domain>yt:validation</domain><code>invalid_character</code><location type='xpath'>media:group/media:keywords/text()</location></error></errors>", 'reason': 'Validation Failed'}

我一直在试图找出它有什么问题,从我可以从错误消息中收集到的信息中,关键字中有一个无效字符,但打印关键字值只会显示您所期望的标签。没有无效字符(Youtube 文档说所有有效的 UTF-8 字符都是允许的)

我认为这可能与编码有关。虽然我尝试将字符串转换为 UTF-8 并且没有任何区别(但也许我做错了?我使用 unicode(keywords, "UTF-8")

我认为这可能与编码有关的另一个原因是我昨天在我的 Windows 机器上运行脚本非常好,但它在我目前使用的 Linux 机器上不起作用(我不几天无法访问我的 Windows 机器,所以我无法确认它是否仍然可以在 Windows 机器上运行,我可能从那时起不小心编辑了代码?我不认为我这样做了)。所以我在想这可能与 Linux 与 Windows 相比如何编码东西有关?只是一个疯狂的猜测。

P.S 我在 pastebin 上编辑的脚本的唯一内容是用户名和密码,所以所有其他数据仍然是相同的,如标题、描述和关键字。

非常感谢任何帮助,如果您需要我提供更多信息,请告诉我。

【问题讨论】:

  • 我讨厌乞求,但是有什么想法吗?我已经盯着代码看了好几个小时,只是不知道从哪里开始。

标签: python youtube youtube-api gdata-api


【解决方案1】:

想通了,只需要去掉引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    相关资源
    最近更新 更多