【创作平台】政务媒体帐号矩阵--技术设计

一、需求背景

针对政务媒体类账号的需要,为提升政务媒体号的创作能力,上线初版母帐号监督管理子帐号能力。

【创作平台-垂类能力】政务媒体帐号矩阵需求一期

二、需求明细

能力提供对象:cert_type = 1 机构认证 or org_type=1||2 媒体 政府的用户;

创作服务平台--授权管理入口,三个模块

成员管理(即现有的授权帐号管理&待接受授权模块)

数据统计

根据时间区间,分页展示:已被管理的帐号的抖音号、粉丝量、粉丝新增,发布量、播放量、点赞量、评论量,以及总量数据。

数据可导出至Excel

内容管理

根据时间区间,分页展示:被管理帐号的视频(发布的抖音号)、点赞量、发布量、发布时间

视频可播放,下发share_url

导出excel

视频可「撤回」,即删除。删除后站内信提示。

运营管理后台

新增创作服务平台--账号管理模块

账号列表显示:抖音ID、认证状态、个性签名、上级帐号列表及操作模块;

可添加下级账号,这里属于「强行接管」,不需要下级账号接受(站内信通知上级账号、下级账号)

可删除下级账号(站内信通知上级账号、下级账号)

三、方案

Generated

创作服务平台

入驻流程

机构入驻时,creator_user表里标识org_type,是否为政务媒体

存量数据处理

数据统计

获取子账号列表

批量获取账号用户名、抖音号

批量获取账号数据

Excel导出

内容管理

循环获取用户发布视频

批量获取视频数据

Excel导出

删除视频

站内信

运营后台

账号列表

增加、删除子账号

站内信

四、依赖方对接及IDL定义

获取用户发布视频列表:ies.item.list::GetUserPublishItemList(按时间段返回itemId和发布时间score,count最多100,hasMore判断)

批量获取用户的粉丝量、粉丝新增、发布量、播放量、点赞量、评论量、抖音号

批量获取视频的点赞量、播放量

批量获取用户名、抖音号:aweme.pack.user

判断账号是否为政务媒体:aweme.user.cert::MulGetUserCertInfo返回的CertType=1&&OrganizationType=1||2

五、客户端对接及IDL定义

创平

分页、按时间区间获取子账号数据

syntax = "proto2";

package com.ss.ugc.aweme;

 

//@api.specification : 分页排序获取授权子账号的数据列表

//@api.http_method : get

//@api.url : "/aweme/v1/creator/permission/account/data/list"

//@api.psm : aweme.open.creator_api

//@api.serializer : json

//@api.need_common_params : true

 

message AccountData{

required string unique_id = 1;//抖音号

required int64 follow_all = 2;//粉丝量

required int64 follow_add = 3;//粉丝新增

required int64 publish = 4;//发布量

required int64 play = 5;//播放量

required int64 like = 6;//点赞量

required int64 comment = 7;//评论量

}

 

message SumAccountData{

required int64 follow_all = 1;//粉丝量

required int64 follow_add = 2;//粉丝新增

required int64 publish = 3;//发布量

required int64 play = 4;//播放量

required int64 like = 5;//点赞量

required int64 comment = 6;//评论量

}

 

message aweme_v1_creator_permission_confer_account_data_list_request{

enum SortType{

DEFAULT = 1;//默认,按授权接受时间

FOLLOW_ALL = 2;//粉丝量

ADD_FOLLOW = 3;//粉丝新增

PUBLISH = 4;//发布量新增

PLAY = 5;//播放量新增

LIKE = 6;//点赞量新增

COMMENT = 7;//评论量新增

}

 

required int64 begin_date = 1; //开始日期

required int64 end_date = 2; //结束日期

required SortType sort_type = 3;//排序方式

required bool desc = 4;//排序方向

required int32 page = 5;//页码

required int32 page_size = 6;//页长

}

 

message aweme_v1_creator_permission_confer_account_data_list_response{

required int32 status_code = 1;

optional string status_msg = 2;

repeated AccountData list = 3;

required int32 total_num = 4; // 总条数

required SumAccountData sum_data = 5;//总计

required bool has_more = 6;//是否有下一页数据

}

excel导出子账号数据

syntax = "proto2";

package com.ss.ugc.aweme;

 

//@api.specification : 导出授权子账号的数据列表

//@api.http_method : get

//@api.url : "/aweme/v1/creator/permission/account/data/export"

//@api.psm : aweme.open.creator_api

//@api.serializer : json

//@api.need_common_params : true

 

message aweme_v1_creator_permission_confer_account_data_export_request {

required int64 begin_date = 1; //开始日期

required int64 end_date = 2; //结束日期

}

 

 

message aweme_v1_creator_permission_confer_account_data_export_response {

required int32 status_code = 1;

optional string status_msg = 2;

}

分页、按时间区间获取子账号视频数据

syntax = "proto2";

package com.ss.ugc.aweme;

 

//@api.specification : 分页排序获取授权子账号的发布视频数据列表

//@api.http_method : post

//@api.url : "/aweme/v1/creator/permission/account/video/list"

//@api.psm : aweme.open.creator_api

//@api.serializer : json

//@api.need_common_params : true

 

 

message VideoData{

required string avatar_url = 1;//头像

required string nickname = 2;//昵称

required string unique_id = 3;//抖音号

 

required int64 follow_add = 4;//粉丝量新增

required int64 play_add = 5;//播放量新增

required int64 like_add = 6;//点赞量新增

required int64 comment_add = 7;//评论量新增

 

required string publish_time = 8;//发布时间

required string share_url = 9;//视频分享链接

required string item_id = 10; //加密的视频id

required string item_title = 11;//视频标题

required string item_cover = 12;//视频封面

required bool allow_retract = 13;//是否允许上级账号撤回该视频

}

 

 

message aweme_v1_creator_permission_confer_account_video_list_request{

enum SortType{

DEFAULT = 1;//发布时间

PLAY = 2;//播放量

LIKE = 3;//点赞量

FOLLOW = 4;//粉丝量

COMMENT = 5;//评论量

}

 

required int64 begin_date = 1; //开始日期

required int64 end_date = 2; //结束日期

required SortType sort_type = 3;//排序方式

required bool desc = 4;//排序方向

required int32 page = 5;//页码

required int32 page_size = 6;//页长

}

 

message aweme_v1_creator_permission_confer_account_video_list_response{

required int32 status_code = 1;

optional string status_msg = 2;

repeated VideoData list = 3;

required int32 total_num = 4; // 总条数

required bool has_more = 6;//是否有下一页数据

}

excel导出子账号视频数据

syntax = "proto2";

package com.ss.ugc.aweme;

 

//@api.specification : 导出授权子账号的视频数据列表

//@api.http_method : get

//@api.url : "/aweme/v1/creator/permission/account/video/export"

//@api.psm : aweme.open.creator_api

//@api.serializer : json

//@api.need_common_params : true

 

message aweme_v1_creator_permission_confer_account_video_export_request {

required int64 begin_date = 1; //开始日期

required int64 end_date = 2; //结束日期

}

 

 

message aweme_v1_creator_permission_confer_account_video_export_response {

required int32 status_code = 1;

optional string status_msg = 2;

}

删除子账号视频

syntax = "proto2";

package com.ss.ugc.aweme;

 

//@api.specification : 撤回授权子账号的发布视频

//@api.http_method : post

//@api.url : "/aweme/v1/creator/permission/account/video/retract"

//@api.psm : aweme.open.creator_api

//@api.serializer : json

//@api.need_common_params : true

 

message aweme_v1_creator_permission_confer_account_video_delete_request {

required string item_id = 1; //加密的视频id

}

 

message aweme_v1_creator_permission_confer_account_video_delete_response {

required int32 status_code = 1;

optional string status_msg = 2;

}

运营后台

创平政媒账号列表

https://code.tencent.org/cpputil/service_rpc_idl/blob/master/aweme/open_platform/op.thrift

 

GetCreatorMatrix

管理下级账号

https://code.tencent.org/cpputil/service_rpc_idl/blob/master/aweme/open_platform/op.thrift

 

OperateConferredAccount

QA测试用例

https://iesqacase.tencentance.net/case_manager/page/regression/get_case_editor?case=8995

 


人生有無數種可能,人生有無限的精彩,人生沒有盡頭。一個人只要足夠的愛自己,尊重自己內心的聲音,就算是真正的活著。