【发布时间】:2014-06-06 06:03:57
【问题描述】:
我注意到在尝试通过以下方式上传视频时,我遇到了很多 HTTP 400 失败:
https://developers.google.com/youtube/v3/docs/videos/insert
我正在使用来自 Google 的 Go SDK: code.google.com/p/google-api-go-client
上传失败的共同点是,在视频 sn-p 数据(标题/描述)的某处,有 <, > 这样的字符。如果我删除冲突字符,视频上传正常。
我似乎无法在文档中找到它,但我是否需要进行某种清理? HTML转义?删除 ^A-Za-z0-9 的所有内容? < 的非 html 使用情况如何,例如 <3? unicode字符呢?我很困惑。
编辑:
为了回答我的问题,这是我写的一个小技巧,以解决对>、< 字符的 Google 仇恨问题。我只是用看起来相似的不同 UNICODE 字符替换它们。
// < and > need to be stripped out, or the upload will throw 400 error
// https://developers.google.com/youtube/2.0/reference#youtube_data_api_tag_media:description
sanitize := func(val string) string {
replacements := map[string]string{
"<": "≺",
">": "≻",
}
for k, v := range replacements {
val = strings.Replace(val, k, v, -1)
}
return val
}
【问题讨论】:
标签: go youtube youtube-api google-api-go-client