videos/insert

YouTubeに動画をアップロードするには、videos/insertを使う。

Videos: insert  |  YouTube Data API (v3)  |  Google Developers

POSTで"/youtube/v3/videos"である。
それと、このAPIjsonを送るのと動画本体を送る2段階がある。
今回はjsonを送る場合。

main.cppで、

動画ファイルのサイズを計算。

json作成。
UPLOAD_FILENAMEは動画ファイル名。

で、あとはリクエスト作成。
ここでACCESS_TOKENを使う。
最後に先ほどのjsonを連結してる。
で、ここではファイルは書き込まない。jsonを送るだけである。

WSAStartup success!
soc = 536
connect success!
ctx = 011b0800
ssl = 011cf6a0
SSL_set_fd success!
SSL_connect success!
SSL_write written = 550
HTTP/1.0 200 OK
X-GUploader-UploadID: xxx
Location: https://www.googleapis.com/upload/youtube/v3/videos?part=snippet&uploadType=resumable&upload_id=xxx
ETag: "m2yskBQFythfE4irbTIeOgYYfBU/rtjWaqrIEi2nVbogja7NHmlLzCI"
Vary: Origin
Vary: X-Origin
X-Goog-Correlation-Id: lc1OynhT080
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Date: Mon, 11 Sep 2017 07:12:01 GMT
Content-Length: 0
Server: UploadServer
Content-Type: text/html; charset=UTF-8
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"


続行するには何かキーを押してください . . .

X-GUploader-UploadIDの後にあるxxxとか、upload_idのxxxとか、このxxxはUPLOAD_IDなのでこれは後で使うので覚えておこう。
一瞬だけ、

いけるか?
いけるか?

こういうのが出てきたときがあったけど、

ダメでした
ダメでした

当然、jsonだけなので動画はなし。

Sample/youtube/videos/insert/src/videos at master · bg1bgst333/Sample · GitHub