https://developers.google.com/youtube/v3/docs/videos/insertHTTP 400
経由で動画をアップロードしようとすると
、かなりの失敗が発生することに気付きました。
Google の Go SDK を使用しています: code.google.com/p/google-api-go-client
失敗したアップロードに共通することは、動画スニペット データ (タイトル/説明) のどこかに<, >
. 競合する文字を削除すると、ビデオは正常にアップロードされます。
ドキュメントで見つけられないようですが、何らかのサニタイズを行う必要がありますか? HTMLエスケープ?それをすべて削除します^A-Za-z0-9
か?の非 html 使用については<
どう<3
ですか? ユニコード文字はどうですか?よくわかりません。
編集: 私の質問に答えるために、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
}