MCPcopy Create free account
hub / github.com/LagrangeDev/LagrangeGo / UploadGroupAlbumVideo

Method UploadGroupAlbumVideo

client/album.go:393–472  ·  view source on GitHub ↗
(parms *GroupAlbumUploadParam)

Source from the content-addressed store, hash-verified

391}
392
393func (c *QQClient) UploadGroupAlbumVideo(parms *GroupAlbumUploadParam) (*GroupVideo, error) {
394 if parms == nil {
395 return nil, errors.New("upload parms is nil")
396 }
397 cookie, err := c.GetCookies("qzone.qq.com")
398 if err != nil {
399 return nil, err
400 }
401 gtk := GTK(cookie.PsKey)
402 // upload video
403 sha1, size := crypto.ComputeSha1AndLength(parms.Video)
404 st := uploadTypeParam{ResourceTypeVideo, "qzone", "FileUploadVideo", "video_qun", 1}
405 usp := &uploadSessionParam{
406 UploadType: st,
407 GroupUin: parms.GroupUin,
408 FileName: parms.FileName,
409 CheckSum: sha1,
410 Size: int(size),
411 AlbumID: parms.AlbumID,
412 AlbumName: parms.AlbumName,
413 GTK: gtk,
414 }
415 session, timeStamp, err := c.getGroupAlbumUploadSession(usp)
416 if err != nil {
417 return nil, err
418 }
419 c.debug("upload group album video start, session %s", session.Session)
420 uvbRsp, err := c.doUploadGroupAlbumBlock(session, usp, parms.Video)
421 if err != nil {
422 return nil, err
423 }
424 if uvbRsp.VID == "" {
425 return nil, errors.New("upload failed because the vid is missing in the upload group video response")
426 }
427 // upload video thumbnail
428 md5, size := crypto.ComputeMd5AndLength(parms.Thumbnail)
429 st = uploadTypeParam{ResourceTypeVideoThumbPhoto, "huodong", "", "qun", 0}
430 usp = &uploadSessionParam{
431 UploadType: st,
432 GroupUin: parms.GroupUin,
433 FileName: parms.FileName,
434 CheckSum: md5,
435 Size: int(size),
436 AlbumID: parms.AlbumID,
437 AlbumName: parms.AlbumName,
438 VidTimeStamp: timeStamp,
439 Vid: uvbRsp.VID,
440 GTK: gtk,
441 }
442 session, _, err = c.getGroupAlbumUploadSession(usp)
443 if err != nil {
444 return nil, err
445 }
446 c.debug("upload group album video thumb start, session %s", session.Session)
447 utbRsp, err := c.doUploadGroupAlbumBlock(session, usp, parms.Thumbnail)
448 if err != nil {
449 return nil, err
450 }

Callers

nothing calls this directly

Calls 8

GetCookiesMethod · 0.95
debugMethod · 0.95
GetGroupAlbumElemMethod · 0.95
ComputeSha1AndLengthFunction · 0.92
ComputeMd5AndLengthFunction · 0.92
GTKFunction · 0.85

Tested by

no test coverage detected