# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class AuthorInfo(AbstractModel): """作者信息 """ def __init__(self): r""" :param _Id: 作者id 注意:此字段可能返回 null,表示取不到有效值。 :type Id: str :param _Name: 作者名称 注意:此字段可能返回 null,表示取不到有效值。 :type Name: str :param _SourceId: 作者来源 注意:此字段可能返回 null,表示取不到有效值。 :type SourceId: int :param _FollowType: 关注类型:1-关注,2-取关 注意:此字段可能返回 null,表示取不到有效值。 :type FollowType: int :param _IconUrl: 作者头像icon地址 注意:此字段可能返回 null,表示取不到有效值。 :type IconUrl: str """ self._Id = None self._Name = None self._SourceId = None self._FollowType = None self._IconUrl = None @property def Id(self): """作者id 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Name(self): """作者名称 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def SourceId(self): """作者来源 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._SourceId @SourceId.setter def SourceId(self, SourceId): self._SourceId = SourceId @property def FollowType(self): """关注类型:1-关注,2-取关 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FollowType @FollowType.setter def FollowType(self, FollowType): self._FollowType = FollowType @property def IconUrl(self): """作者头像icon地址 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IconUrl @IconUrl.setter def IconUrl(self, IconUrl): self._IconUrl = IconUrl def _deserialize(self, params): self._Id = params.get("Id") self._Name = params.get("Name") self._SourceId = params.get("SourceId") self._FollowType = params.get("FollowType") self._IconUrl = params.get("IconUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DislikeInfo(AbstractModel): """不喜欢信息 """ def __init__(self): r""" :param _Type: 不喜欢的物料类别,对应物料上传协议中的字段名,如authorId,keyword,topic等 :type Type: str :param _Value: type对应字段名的值,如具体的topic名,作者id等 :type Value: str """ self._Type = None self._Value = None @property def Type(self): """不喜欢的物料类别,对应物料上传协议中的字段名,如authorId,keyword,topic等 :rtype: str """ return self._Type @Type.setter def Type(self, Type): self._Type = Type @property def Value(self): """type对应字段名的值,如具体的topic名,作者id等 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Type = params.get("Type") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DocBehavior(AbstractModel): """行为数据 """ def __init__(self): r""" :param _ItemId: 内容唯一ID,如 2824324234 :type ItemId: str :param _BehaviorType: 行为类型 :type BehaviorType: int :param _BehaviorValue: 行为值 :type BehaviorValue: str :param _BehaviorTimestamp: 行为时间戳: 秒级时间戳(默认为当前时间),不能延迟太久,尽量实时上报,否则会影响推荐结果的准确性。 :type BehaviorTimestamp: int :param _SceneId: 场景id,在控制台创建场景后获取。 :type SceneId: str :param _UserIdList: 用户id列表 :type UserIdList: list of UserIdInfo :param _RecTraceId: 会话id,使用获取推荐结果中返回的RecTraceId填入。<br>注意:如果和在线推荐请求中的traceId不同,会影响行为特征归因,影响推荐算法效果 :type RecTraceId: str :param _Source: 算法来源:用来区分行为来源于哪个算法。值为**business,tencent,other** 三者之一<br>● business 表示业务自己的算法对照组<br>● tencent 为腾讯算法<br>● other 为其他算法 :type Source: str :param _ItemType: 物料类型 :type ItemType: int :param _AppId: 微信开放平台上查看appId :type AppId: str :param _VideoPlayDuration: 回传video_over事件的时候,回传的用户播放视频的总时长(真正播放的,拖动不算,单位为秒) :type VideoPlayDuration: int :param _ReferrerItemId: 来源物料内容:用来标识在指定内容页面产生的行为,如需要统计用户在A内容详情页里,对推荐内容B点击等行为,则ReferrerItemId代表内容A,ItemId代表内容B :type ReferrerItemId: str :param _Country: 国家,统一用简写,比如中国则填写CN :type Country: str :param _Province: 省 :type Province: str :param _City: 城市 :type City: str :param _District: 区县 :type District: str :param _IP: 客户端ip :type IP: str :param _Network: 客户端网络类型 :type Network: str :param _Platform: 客户端平台,ios/android/h5 :type Platform: str :param _AppVersion: 客户端app版本 :type AppVersion: str :param _OsVersion: 操作系统版本 :type OsVersion: str :param _DeviceModel: 机型 :type DeviceModel: str :param _Extension: json字符串,用于行为数据的扩展 :type Extension: str """ self._ItemId = None self._BehaviorType = None self._BehaviorValue = None self._BehaviorTimestamp = None self._SceneId = None self._UserIdList = None self._RecTraceId = None self._Source = None self._ItemType = None self._AppId = None self._VideoPlayDuration = None self._ReferrerItemId = None self._Country = None self._Province = None self._City = None self._District = None self._IP = None self._Network = None self._Platform = None self._AppVersion = None self._OsVersion = None self._DeviceModel = None self._Extension = None @property def ItemId(self): """内容唯一ID,如 2824324234 :rtype: str """ return self._ItemId @ItemId.setter def ItemId(self, ItemId): self._ItemId = ItemId @property def BehaviorType(self): """行为类型 :rtype: int """ return self._BehaviorType @BehaviorType.setter def BehaviorType(self, BehaviorType): self._BehaviorType = BehaviorType @property def BehaviorValue(self): """行为值 :rtype: str """ return self._BehaviorValue @BehaviorValue.setter def BehaviorValue(self, BehaviorValue): self._BehaviorValue = BehaviorValue @property def BehaviorTimestamp(self): """行为时间戳: 秒级时间戳(默认为当前时间),不能延迟太久,尽量实时上报,否则会影响推荐结果的准确性。 :rtype: int """ return self._BehaviorTimestamp @BehaviorTimestamp.setter def BehaviorTimestamp(self, BehaviorTimestamp): self._BehaviorTimestamp = BehaviorTimestamp @property def SceneId(self): """场景id,在控制台创建场景后获取。 :rtype: str """ return self._SceneId @SceneId.setter def SceneId(self, SceneId): self._SceneId = SceneId @property def UserIdList(self): """用户id列表 :rtype: list of UserIdInfo """ return self._UserIdList @UserIdList.setter def UserIdList(self, UserIdList): self._UserIdList = UserIdList @property def RecTraceId(self): """会话id,使用获取推荐结果中返回的RecTraceId填入。<br>注意:如果和在线推荐请求中的traceId不同,会影响行为特征归因,影响推荐算法效果 :rtype: str """ return self._RecTraceId @RecTraceId.setter def RecTraceId(self, RecTraceId): self._RecTraceId = RecTraceId @property def Source(self): """算法来源:用来区分行为来源于哪个算法。值为**business,tencent,other** 三者之一<br>● business 表示业务自己的算法对照组<br>● tencent 为腾讯算法<br>● other 为其他算法 :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source @property def ItemType(self): """物料类型 :rtype: int """ return self._ItemType @ItemType.setter def ItemType(self, ItemType): self._ItemType = ItemType @property def AppId(self): """微信开放平台上查看appId :rtype: str """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def VideoPlayDuration(self): """回传video_over事件的时候,回传的用户播放视频的总时长(真正播放的,拖动不算,单位为秒) :rtype: int """ return self._VideoPlayDuration @VideoPlayDuration.setter def VideoPlayDuration(self, VideoPlayDuration): self._VideoPlayDuration = VideoPlayDuration @property def ReferrerItemId(self): """来源物料内容:用来标识在指定内容页面产生的行为,如需要统计用户在A内容详情页里,对推荐内容B点击等行为,则ReferrerItemId代表内容A,ItemId代表内容B :rtype: str """ return self._ReferrerItemId @ReferrerItemId.setter def ReferrerItemId(self, ReferrerItemId): self._ReferrerItemId = ReferrerItemId @property def Country(self): """国家,统一用简写,比如中国则填写CN :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def Province(self): """省 :rtype: str """ return self._Province @Province.setter def Province(self, Province): self._Province = Province @property def City(self): """城市 :rtype: str """ return self._City @City.setter def City(self, City): self._City = City @property def District(self): """区县 :rtype: str """ return self._District @District.setter def District(self, District): self._District = District @property def IP(self): """客户端ip :rtype: str """ return self._IP @IP.setter def IP(self, IP): self._IP = IP @property def Network(self): """客户端网络类型 :rtype: str """ return self._Network @Network.setter def Network(self, Network): self._Network = Network @property def Platform(self): """客户端平台,ios/android/h5 :rtype: str """ return self._Platform @Platform.setter def Platform(self, Platform): self._Platform = Platform @property def AppVersion(self): """客户端app版本 :rtype: str """ return self._AppVersion @AppVersion.setter def AppVersion(self, AppVersion): self._AppVersion = AppVersion @property def OsVersion(self): """操作系统版本 :rtype: str """ return self._OsVersion @OsVersion.setter def OsVersion(self, OsVersion): self._OsVersion = OsVersion @property def DeviceModel(self): """机型 :rtype: str """ return self._DeviceModel @DeviceModel.setter def DeviceModel(self, DeviceModel): self._DeviceModel = DeviceModel @property def Extension(self): """json字符串,用于行为数据的扩展 :rtype: str """ return self._Extension @Extension.setter def Extension(self, Extension): self._Extension = Extension def _deserialize(self, params): self._ItemId = params.get("ItemId") self._BehaviorType = params.get("BehaviorType") self._BehaviorValue = params.get("BehaviorValue") self._BehaviorTimestamp = params.get("BehaviorTimestamp") self._SceneId = params.get("SceneId") if params.get("UserIdList") is not None: self._UserIdList = [] for item in params.get("UserIdList"): obj = UserIdInfo() obj._deserialize(item) self._UserIdList.append(obj) self._RecTraceId = params.get("RecTraceId") self._Source = params.get("Source") self._ItemType = params.get("ItemType") self._AppId = params.get("AppId") self._VideoPlayDuration = params.get("VideoPlayDuration") self._ReferrerItemId = params.get("ReferrerItemId") self._Country = params.get("Country") self._Province = params.get("Province") self._City = params.get("City") self._District = params.get("District") self._IP = params.get("IP") self._Network = params.get("Network") self._Platform = params.get("Platform") self._AppVersion = params.get("AppVersion") self._OsVersion = params.get("OsVersion") self._DeviceModel = params.get("DeviceModel") self._Extension = params.get("Extension") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DocItem(AbstractModel): """推荐物料信息 """ def __init__(self): r""" :param _ItemId: 内容唯一id :type ItemId: str :param _ItemType: 内容类型 :type ItemType: int :param _Status: 内容状态:1 - 上架, 2 - 下架 :type Status: int :param _PublishTimestamp: 内容生成时间,秒级时间戳(1639624786),需大于0 :type PublishTimestamp: int :param _SourceId: 物料来源ID :type SourceId: int :param _Title: 标题名称 :type Title: str :param _Content: 内容正文 :type Content: str :param _Author: 作者 :type Author: str :param _AuthorId: 作者id :type AuthorId: str :param _Keyword: 标签关键词,多个用英文分号分割 :type Keyword: str :param _Desc: 内容物料描述:物料的描述信息,推荐系统会对内容的描述信息,使用否LP技术,进行分词、提取关键词,作为news的特征使用。 :type Desc: str :param _PicUrlList: 图片url :type PicUrlList: list of str :param _VideoUrlList: 视频url :type VideoUrlList: list of str :param _VideoDuration: 视频时长,时间秒 :type VideoDuration: int :param _CategoryLevel: 类目层级数,例如3级类目,则填3,和CategoryPath字段的类数据匹配 :type CategoryLevel: int :param _CategoryPath: 类目路径,一级二级三级等依次用英文冒号联接,如体育:“足球:巴塞罗那” :type CategoryPath: str :param _Country: 国家,统一用简写,比如中国则填写CN :type Country: str :param _Province: 省 :type Province: str :param _City: 城市 :type City: str :param _District: 区县 :type District: str :param _ExpireTimestamp: 内容过期时间,秒级时间戳(1639624786),如未填,则默认PublishTimestamp往后延一年 :type ExpireTimestamp: int :param _Topic: 所属话题 :type Topic: str :param _AuthorFans: 作者粉丝数 :type AuthorFans: int :param _AuthorLevel: 作者评级 :type AuthorLevel: str :param _CollectCnt: 内容累计收藏次数 :type CollectCnt: int :param _PraiseCnt: 内容累积点赞次数 :type PraiseCnt: int :param _CommentCnt: 内容累计评论次数 :type CommentCnt: int :param _ShareCnt: 内容累计分享次数 :type ShareCnt: int :param _RewardCnt: 内容累积打赏数 :type RewardCnt: int :param _Score: 内容质量评分,类似豆瓣电影的评分,这里为100分制,比如97分,满分100分,最低0分,范围外的将会被拦截 :type Score: float :param _PoolIdList: 内容池id,用于分内容池召回,一个内容支持指定一个或多个内容池, 内容池id不建议使用0(0表示不区分内容池) :type PoolIdList: list of str :param _TagInfoList: 描述用户标签 :type TagInfoList: list of TagInfo :param _Extension: json字符串,用于物料数据的扩展 :type Extension: str """ self._ItemId = None self._ItemType = None self._Status = None self._PublishTimestamp = None self._SourceId = None self._Title = None self._Content = None self._Author = None self._AuthorId = None self._Keyword = None self._Desc = None self._PicUrlList = None self._VideoUrlList = None self._VideoDuration = None self._CategoryLevel = None self._CategoryPath = None self._Country = None self._Province = None self._City = None self._District = None self._ExpireTimestamp = None self._Topic = None self._AuthorFans = None self._AuthorLevel = None self._CollectCnt = None self._PraiseCnt = None self._CommentCnt = None self._ShareCnt = None self._RewardCnt = None self._Score = None self._PoolIdList = None self._TagInfoList = None self._Extension = None @property def ItemId(self): """内容唯一id :rtype: str """ return self._ItemId @ItemId.setter def ItemId(self, ItemId): self._ItemId = ItemId @property def ItemType(self): """内容类型 :rtype: int """ return self._ItemType @ItemType.setter def ItemType(self, ItemType): self._ItemType = ItemType @property def Status(self): """内容状态:1 - 上架, 2 - 下架 :rtype: int """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def PublishTimestamp(self): """内容生成时间,秒级时间戳(1639624786),需大于0 :rtype: int """ return self._PublishTimestamp @PublishTimestamp.setter def PublishTimestamp(self, PublishTimestamp): self._PublishTimestamp = PublishTimestamp @property def SourceId(self): """物料来源ID :rtype: int """ return self._SourceId @SourceId.setter def SourceId(self, SourceId): self._SourceId = SourceId @property def Title(self): """标题名称 :rtype: str """ return self._Title @Title.setter def Title(self, Title): self._Title = Title @property def Content(self): """内容正文 :rtype: str """ return self._Content @Content.setter def Content(self, Content): self._Content = Content @property def Author(self): """作者 :rtype: str """ return self._Author @Author.setter def Author(self, Author): self._Author = Author @property def AuthorId(self): """作者id :rtype: str """ return self._AuthorId @AuthorId.setter def AuthorId(self, AuthorId): self._AuthorId = AuthorId @property def Keyword(self): """标签关键词,多个用英文分号分割 :rtype: str """ return self._Keyword @Keyword.setter def Keyword(self, Keyword): self._Keyword = Keyword @property def Desc(self): """内容物料描述:物料的描述信息,推荐系统会对内容的描述信息,使用否LP技术,进行分词、提取关键词,作为news的特征使用。 :rtype: str """ return self._Desc @Desc.setter def Desc(self, Desc): self._Desc = Desc @property def PicUrlList(self): """图片url :rtype: list of str """ return self._PicUrlList @PicUrlList.setter def PicUrlList(self, PicUrlList): self._PicUrlList = PicUrlList @property def VideoUrlList(self): """视频url :rtype: list of str """ return self._VideoUrlList @VideoUrlList.setter def VideoUrlList(self, VideoUrlList): self._VideoUrlList = VideoUrlList @property def VideoDuration(self): """视频时长,时间秒 :rtype: int """ return self._VideoDuration @VideoDuration.setter def VideoDuration(self, VideoDuration): self._VideoDuration = VideoDuration @property def CategoryLevel(self): """类目层级数,例如3级类目,则填3,和CategoryPath字段的类数据匹配 :rtype: int """ return self._CategoryLevel @CategoryLevel.setter def CategoryLevel(self, CategoryLevel): self._CategoryLevel = CategoryLevel @property def CategoryPath(self): """类目路径,一级二级三级等依次用英文冒号联接,如体育:“足球:巴塞罗那” :rtype: str """ return self._CategoryPath @CategoryPath.setter def CategoryPath(self, CategoryPath): self._CategoryPath = CategoryPath @property def Country(self): """国家,统一用简写,比如中国则填写CN :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def Province(self): """省 :rtype: str """ return self._Province @Province.setter def Province(self, Province): self._Province = Province @property def City(self): """城市 :rtype: str """ return self._City @City.setter def City(self, City): self._City = City @property def District(self): """区县 :rtype: str """ return self._District @District.setter def District(self, District): self._District = District @property def ExpireTimestamp(self): """内容过期时间,秒级时间戳(1639624786),如未填,则默认PublishTimestamp往后延一年 :rtype: int """ return self._ExpireTimestamp @ExpireTimestamp.setter def ExpireTimestamp(self, ExpireTimestamp): self._ExpireTimestamp = ExpireTimestamp @property def Topic(self): """所属话题 :rtype: str """ return self._Topic @Topic.setter def Topic(self, Topic): self._Topic = Topic @property def AuthorFans(self): """作者粉丝数 :rtype: int """ return self._AuthorFans @AuthorFans.setter def AuthorFans(self, AuthorFans): self._AuthorFans = AuthorFans @property def AuthorLevel(self): """作者评级 :rtype: str """ return self._AuthorLevel @AuthorLevel.setter def AuthorLevel(self, AuthorLevel): self._AuthorLevel = AuthorLevel @property def CollectCnt(self): """内容累计收藏次数 :rtype: int """ return self._CollectCnt @CollectCnt.setter def CollectCnt(self, CollectCnt): self._CollectCnt = CollectCnt @property def PraiseCnt(self): """内容累积点赞次数 :rtype: int """ return self._PraiseCnt @PraiseCnt.setter def PraiseCnt(self, PraiseCnt): self._PraiseCnt = PraiseCnt @property def CommentCnt(self): """内容累计评论次数 :rtype: int """ return self._CommentCnt @CommentCnt.setter def CommentCnt(self, CommentCnt): self._CommentCnt = CommentCnt @property def ShareCnt(self): """内容累计分享次数 :rtype: int """ return self._ShareCnt @ShareCnt.setter def ShareCnt(self, ShareCnt): self._ShareCnt = ShareCnt @property def RewardCnt(self): """内容累积打赏数 :rtype: int """ return self._RewardCnt @RewardCnt.setter def RewardCnt(self, RewardCnt): self._RewardCnt = RewardCnt @property def Score(self): """内容质量评分,类似豆瓣电影的评分,这里为100分制,比如97分,满分100分,最低0分,范围外的将会被拦截 :rtype: float """ return self._Score @Score.setter def Score(self, Score): self._Score = Score @property def PoolIdList(self): """内容池id,用于分内容池召回,一个内容支持指定一个或多个内容池, 内容池id不建议使用0(0表示不区分内容池) :rtype: list of str """ return self._PoolIdList @PoolIdList.setter def PoolIdList(self, PoolIdList): self._PoolIdList = PoolIdList @property def TagInfoList(self): """描述用户标签 :rtype: list of TagInfo """ return self._TagInfoList @TagInfoList.setter def TagInfoList(self, TagInfoList): self._TagInfoList = TagInfoList @property def Extension(self): """json字符串,用于物料数据的扩展 :rtype: str """ return self._Extension @Extension.setter def Extension(self, Extension): self._Extension = Extension def _deserialize(self, params): self._ItemId = params.get("ItemId") self._ItemType = params.get("ItemType") self._Status = params.get("Status") self._PublishTimestamp = params.get("PublishTimestamp") self._SourceId = params.get("SourceId") self._Title = params.get("Title") self._Content = params.get("Content") self._Author = params.get("Author") self._AuthorId = params.get("AuthorId") self._Keyword = params.get("Keyword") self._Desc = params.get("Desc") self._PicUrlList = params.get("PicUrlList") self._VideoUrlList = params.get("VideoUrlList") self._VideoDuration = params.get("VideoDuration") self._CategoryLevel = params.get("CategoryLevel") self._CategoryPath = params.get("CategoryPath") self._Country = params.get("Country") self._Province = params.get("Province") self._City = params.get("City") self._District = params.get("District") self._ExpireTimestamp = params.get("ExpireTimestamp") self._Topic = params.get("Topic") self._AuthorFans = params.get("AuthorFans") self._AuthorLevel = params.get("AuthorLevel") self._CollectCnt = params.get("CollectCnt") self._PraiseCnt = params.get("PraiseCnt") self._CommentCnt = params.get("CommentCnt") self._ShareCnt = params.get("ShareCnt") self._RewardCnt = params.get("RewardCnt") self._Score = params.get("Score") self._PoolIdList = params.get("PoolIdList") if params.get("TagInfoList") is not None: self._TagInfoList = [] for item in params.get("TagInfoList"): obj = TagInfo() obj._deserialize(item) self._TagInfoList.append(obj) self._Extension = params.get("Extension") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PortraitInfo(AbstractModel): """画像信息 """ def __init__(self): r""" :param _UserIdList: 用户id列表 :type UserIdList: list of UserIdInfo :param _AppId: 如果"userIdType"是10则必传,在微信开放平台上查看appId :type AppId: str :param _Age: 用户年龄,值域在 0-200 :type Age: int :param _Gender: 用户性别:0-未知,1-男, 2-女 :type Gender: int :param _Degree: 用户学历 :小学,初中,高中,大专,本科,硕士,博士 :type Degree: str :param _School: 用户毕业学校全称 :type School: str :param _Occupation: 用户职业,保证业务的唯一性 :type Occupation: str :param _Industry: 用户所属行业,保证业务的唯一性 :type Industry: str :param _ResidentCountry: 用户常驻国家,统一用简写,比如中国则填写CN :type ResidentCountry: str :param _ResidentProvince: 用户常驻省份 :type ResidentProvince: str :param _ResidentCity: 用户常驻城市 :type ResidentCity: str :param _ResidentDistrict: 用户常驻区县 :type ResidentDistrict: str :param _PhoneMd5: 用户手机的MD5值 :type PhoneMd5: str :param _PhoneImei: 用户手机的IMEI号 :type PhoneImei: str :param _Idfa: 设备idfa信息 :type Idfa: str :param _RegisterTimestamp: 用户注册时间,秒级时间戳(1639624786) :type RegisterTimestamp: int :param _MembershipLevel: 用户会员等级 :type MembershipLevel: str :param _LastLoginTimestamp: 用户上一次登录时间,秒级时间戳(1639624786) :type LastLoginTimestamp: int :param _LastLoginIp: 用户上一次登录的ip :type LastLoginIp: str :param _LastModifyTimestamp: 用户信息的最后修改时间戳,秒级时间戳(1639624786) :type LastModifyTimestamp: int :param _TagInfoList: 用户标签 :type TagInfoList: list of TagInfo :param _AuthorInfoList: 用户关注作者列表 :type AuthorInfoList: list of AuthorInfo :param _DislikeInfoList: 用户不喜欢列表 :type DislikeInfoList: list of DislikeInfo :param _Extension: json字符串,用于画像数据的扩展 :type Extension: str :param _Oaid: 设备oaid信息 :type Oaid: str :param _AndroidId: 设备AndroidId信息 :type AndroidId: str """ self._UserIdList = None self._AppId = None self._Age = None self._Gender = None self._Degree = None self._School = None self._Occupation = None self._Industry = None self._ResidentCountry = None self._ResidentProvince = None self._ResidentCity = None self._ResidentDistrict = None self._PhoneMd5 = None self._PhoneImei = None self._Idfa = None self._RegisterTimestamp = None self._MembershipLevel = None self._LastLoginTimestamp = None self._LastLoginIp = None self._LastModifyTimestamp = None self._TagInfoList = None self._AuthorInfoList = None self._DislikeInfoList = None self._Extension = None self._Oaid = None self._AndroidId = None @property def UserIdList(self): """用户id列表 :rtype: list of UserIdInfo """ return self._UserIdList @UserIdList.setter def UserIdList(self, UserIdList): self._UserIdList = UserIdList @property def AppId(self): """如果"userIdType"是10则必传,在微信开放平台上查看appId :rtype: str """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def Age(self): """用户年龄,值域在 0-200 :rtype: int """ return self._Age @Age.setter def Age(self, Age): self._Age = Age @property def Gender(self): """用户性别:0-未知,1-男, 2-女 :rtype: int """ return self._Gender @Gender.setter def Gender(self, Gender): self._Gender = Gender @property def Degree(self): """用户学历 :小学,初中,高中,大专,本科,硕士,博士 :rtype: str """ return self._Degree @Degree.setter def Degree(self, Degree): self._Degree = Degree @property def School(self): """用户毕业学校全称 :rtype: str """ return self._School @School.setter def School(self, School): self._School = School @property def Occupation(self): """用户职业,保证业务的唯一性 :rtype: str """ return self._Occupation @Occupation.setter def Occupation(self, Occupation): self._Occupation = Occupation @property def Industry(self): """用户所属行业,保证业务的唯一性 :rtype: str """ return self._Industry @Industry.setter def Industry(self, Industry): self._Industry = Industry @property def ResidentCountry(self): """用户常驻国家,统一用简写,比如中国则填写CN :rtype: str """ return self._ResidentCountry @ResidentCountry.setter def ResidentCountry(self, ResidentCountry): self._ResidentCountry = ResidentCountry @property def ResidentProvince(self): """用户常驻省份 :rtype: str """ return self._ResidentProvince @ResidentProvince.setter def ResidentProvince(self, ResidentProvince): self._ResidentProvince = ResidentProvince @property def ResidentCity(self): """用户常驻城市 :rtype: str """ return self._ResidentCity @ResidentCity.setter def ResidentCity(self, ResidentCity): self._ResidentCity = ResidentCity @property def ResidentDistrict(self): """用户常驻区县 :rtype: str """ return self._ResidentDistrict @ResidentDistrict.setter def ResidentDistrict(self, ResidentDistrict): self._ResidentDistrict = ResidentDistrict @property def PhoneMd5(self): """用户手机的MD5值 :rtype: str """ return self._PhoneMd5 @PhoneMd5.setter def PhoneMd5(self, PhoneMd5): self._PhoneMd5 = PhoneMd5 @property def PhoneImei(self): """用户手机的IMEI号 :rtype: str """ return self._PhoneImei @PhoneImei.setter def PhoneImei(self, PhoneImei): self._PhoneImei = PhoneImei @property def Idfa(self): """设备idfa信息 :rtype: str """ return self._Idfa @Idfa.setter def Idfa(self, Idfa): self._Idfa = Idfa @property def RegisterTimestamp(self): """用户注册时间,秒级时间戳(1639624786) :rtype: int """ return self._RegisterTimestamp @RegisterTimestamp.setter def RegisterTimestamp(self, RegisterTimestamp): self._RegisterTimestamp = RegisterTimestamp @property def MembershipLevel(self): """用户会员等级 :rtype: str """ return self._MembershipLevel @MembershipLevel.setter def MembershipLevel(self, MembershipLevel): self._MembershipLevel = MembershipLevel @property def LastLoginTimestamp(self): """用户上一次登录时间,秒级时间戳(1639624786) :rtype: int """ return self._LastLoginTimestamp @LastLoginTimestamp.setter def LastLoginTimestamp(self, LastLoginTimestamp): self._LastLoginTimestamp = LastLoginTimestamp @property def LastLoginIp(self): """用户上一次登录的ip :rtype: str """ return self._LastLoginIp @LastLoginIp.setter def LastLoginIp(self, LastLoginIp): self._LastLoginIp = LastLoginIp @property def LastModifyTimestamp(self): """用户信息的最后修改时间戳,秒级时间戳(1639624786) :rtype: int """ return self._LastModifyTimestamp @LastModifyTimestamp.setter def LastModifyTimestamp(self, LastModifyTimestamp): self._LastModifyTimestamp = LastModifyTimestamp @property def TagInfoList(self): """用户标签 :rtype: list of TagInfo """ return self._TagInfoList @TagInfoList.setter def TagInfoList(self, TagInfoList): self._TagInfoList = TagInfoList @property def AuthorInfoList(self): """用户关注作者列表 :rtype: list of AuthorInfo """ return self._AuthorInfoList @AuthorInfoList.setter def AuthorInfoList(self, AuthorInfoList): self._AuthorInfoList = AuthorInfoList @property def DislikeInfoList(self): """用户不喜欢列表 :rtype: list of DislikeInfo """ return self._DislikeInfoList @DislikeInfoList.setter def DislikeInfoList(self, DislikeInfoList): self._DislikeInfoList = DislikeInfoList @property def Extension(self): """json字符串,用于画像数据的扩展 :rtype: str """ return self._Extension @Extension.setter def Extension(self, Extension): self._Extension = Extension @property def Oaid(self): """设备oaid信息 :rtype: str """ return self._Oaid @Oaid.setter def Oaid(self, Oaid): self._Oaid = Oaid @property def AndroidId(self): """设备AndroidId信息 :rtype: str """ return self._AndroidId @AndroidId.setter def AndroidId(self, AndroidId): self._AndroidId = AndroidId def _deserialize(self, params): if params.get("UserIdList") is not None: self._UserIdList = [] for item in params.get("UserIdList"): obj = UserIdInfo() obj._deserialize(item) self._UserIdList.append(obj) self._AppId = params.get("AppId") self._Age = params.get("Age") self._Gender = params.get("Gender") self._Degree = params.get("Degree") self._School = params.get("School") self._Occupation = params.get("Occupation") self._Industry = params.get("Industry") self._ResidentCountry = params.get("ResidentCountry") self._ResidentProvince = params.get("ResidentProvince") self._ResidentCity = params.get("ResidentCity") self._ResidentDistrict = params.get("ResidentDistrict") self._PhoneMd5 = params.get("PhoneMd5") self._PhoneImei = params.get("PhoneImei") self._Idfa = params.get("Idfa") self._RegisterTimestamp = params.get("RegisterTimestamp") self._MembershipLevel = params.get("MembershipLevel") self._LastLoginTimestamp = params.get("LastLoginTimestamp") self._LastLoginIp = params.get("LastLoginIp") self._LastModifyTimestamp = params.get("LastModifyTimestamp") if params.get("TagInfoList") is not None: self._TagInfoList = [] for item in params.get("TagInfoList"): obj = TagInfo() obj._deserialize(item) self._TagInfoList.append(obj) if params.get("AuthorInfoList") is not None: self._AuthorInfoList = [] for item in params.get("AuthorInfoList"): obj = AuthorInfo() obj._deserialize(item) self._AuthorInfoList.append(obj) if params.get("DislikeInfoList") is not None: self._DislikeInfoList = [] for item in params.get("DislikeInfoList"): obj = DislikeInfo() obj._deserialize(item) self._DislikeInfoList.append(obj) self._Extension = params.get("Extension") self._Oaid = params.get("Oaid") self._AndroidId = params.get("AndroidId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecItemData(AbstractModel): """推荐内容信息 """ def __init__(self): r""" :param _ItemId: 推荐的内容id,即用户行为上报中的itemId :type ItemId: str :param _ItemType: 物料子类型,包括如下: 1-图文、2-长视频(横视频)、3-短视频(横视频)、4-小说、5-小视频(竖视频)、6-纯文本 注意:此字段可能返回 null,表示取不到有效值。 :type ItemType: int :param _Weight: 推荐内容的权重,取值范围[0,1000000] 注意:此字段可能返回 null,表示取不到有效值。 :type Weight: int :param _Score: 推荐预测分 注意:此字段可能返回 null,表示取不到有效值。 :type Score: float :param _Keyword: 关键词,多个用英文分号分割,和物料上传的keyword一致 注意:此字段可能返回 null,表示取不到有效值。 :type Keyword: str """ self._ItemId = None self._ItemType = None self._Weight = None self._Score = None self._Keyword = None @property def ItemId(self): """推荐的内容id,即用户行为上报中的itemId :rtype: str """ return self._ItemId @ItemId.setter def ItemId(self, ItemId): self._ItemId = ItemId @property def ItemType(self): """物料子类型,包括如下: 1-图文、2-长视频(横视频)、3-短视频(横视频)、4-小说、5-小视频(竖视频)、6-纯文本 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ItemType @ItemType.setter def ItemType(self, ItemType): self._ItemType = ItemType @property def Weight(self): """推荐内容的权重,取值范围[0,1000000] 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Weight @Weight.setter def Weight(self, Weight): self._Weight = Weight @property def Score(self): """推荐预测分 注意:此字段可能返回 null,表示取不到有效值。 :rtype: float """ return self._Score @Score.setter def Score(self, Score): self._Score = Score @property def Keyword(self): """关键词,多个用英文分号分割,和物料上传的keyword一致 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Keyword @Keyword.setter def Keyword(self, Keyword): self._Keyword = Keyword def _deserialize(self, params): self._ItemId = params.get("ItemId") self._ItemType = params.get("ItemType") self._Weight = params.get("Weight") self._Score = params.get("Score") self._Keyword = params.get("Keyword") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecommendContentRequest(AbstractModel): """RecommendContent请求参数结构体 """ def __init__(self): r""" :param _Bid: 业务id :type Bid: str :param _SceneId: 场景id:比如有“猜你喜欢”,“热门内容”等推荐模块,每一个模块都有一个scene_id来表示。 在控制台创建场景后获取。需要跟行为上报时的id一致 :type SceneId: str :param _UserIdList: 用户唯一ID数组,每个数组元素详见userId结构体,若不填,则接口返回热门结果 :type UserIdList: list of UserIdInfo :param _RecTraceId: 会话id:必须和行为数据上报时所填写的traceId相同,用于行为数据来自于那次在线推荐请求的归因。**注意:此处如果没传,则响应会返回一个全局唯一ID返回给客户,并需客户透传给行为日志上报接口** :type RecTraceId: str :param _ItemCnt: 推荐数量:物料优选的结果, 默认50个,目前最多支持200个的内容返回,如果返回个数更多,会影响性能,容易超时。 :type ItemCnt: int :param _PoolId: 物料池id,用于召回该pool_id下的商品,如果有多个,用英文;分割。**注意:此处poolId需和物料上报时的poolIdList对应上** :type PoolId: str :param _CurrentItemId: 来源物料id,即用户当前浏览的物料id,用于在内容详情页获取关联推荐内容 :type CurrentItemId: str :param _ResponseTimeout: 请求响应超时时间,单位ms,默认300ms,数值设置的过小,会影响推荐效果,最小支持250ms :type ResponseTimeout: int :param _ItemTypeRatio: 返回结果中不同物料类型的比例,比例顺序需严格按照(图文,长视频,短视频,小视频)进行。只允许传[0,100]数字,多个请用**英文冒号**分割,且加起来不能超过100,以及比例数量不能超过**场景绑定的物料类型**(图文,长视频,短视频,小视频)数。**示例:**图文和短视频比例为40%:60%时,则填40:60图文和短视频比例为0%:100%时,则填0:100图文,长视频和短视频的比例为,图文占20%,剩余80%由长视频和短视频随机返回,则填20:80或仅填20均可 :type ItemTypeRatio: str """ self._Bid = None self._SceneId = None self._UserIdList = None self._RecTraceId = None self._ItemCnt = None self._PoolId = None self._CurrentItemId = None self._ResponseTimeout = None self._ItemTypeRatio = None @property def Bid(self): """业务id :rtype: str """ return self._Bid @Bid.setter def Bid(self, Bid): self._Bid = Bid @property def SceneId(self): """场景id:比如有“猜你喜欢”,“热门内容”等推荐模块,每一个模块都有一个scene_id来表示。 在控制台创建场景后获取。需要跟行为上报时的id一致 :rtype: str """ return self._SceneId @SceneId.setter def SceneId(self, SceneId): self._SceneId = SceneId @property def UserIdList(self): """用户唯一ID数组,每个数组元素详见userId结构体,若不填,则接口返回热门结果 :rtype: list of UserIdInfo """ return self._UserIdList @UserIdList.setter def UserIdList(self, UserIdList): self._UserIdList = UserIdList @property def RecTraceId(self): """会话id:必须和行为数据上报时所填写的traceId相同,用于行为数据来自于那次在线推荐请求的归因。**注意:此处如果没传,则响应会返回一个全局唯一ID返回给客户,并需客户透传给行为日志上报接口** :rtype: str """ return self._RecTraceId @RecTraceId.setter def RecTraceId(self, RecTraceId): self._RecTraceId = RecTraceId @property def ItemCnt(self): """推荐数量:物料优选的结果, 默认50个,目前最多支持200个的内容返回,如果返回个数更多,会影响性能,容易超时。 :rtype: int """ return self._ItemCnt @ItemCnt.setter def ItemCnt(self, ItemCnt): self._ItemCnt = ItemCnt @property def PoolId(self): """物料池id,用于召回该pool_id下的商品,如果有多个,用英文;分割。**注意:此处poolId需和物料上报时的poolIdList对应上** :rtype: str """ return self._PoolId @PoolId.setter def PoolId(self, PoolId): self._PoolId = PoolId @property def CurrentItemId(self): """来源物料id,即用户当前浏览的物料id,用于在内容详情页获取关联推荐内容 :rtype: str """ return self._CurrentItemId @CurrentItemId.setter def CurrentItemId(self, CurrentItemId): self._CurrentItemId = CurrentItemId @property def ResponseTimeout(self): """请求响应超时时间,单位ms,默认300ms,数值设置的过小,会影响推荐效果,最小支持250ms :rtype: int """ return self._ResponseTimeout @ResponseTimeout.setter def ResponseTimeout(self, ResponseTimeout): self._ResponseTimeout = ResponseTimeout @property def ItemTypeRatio(self): """返回结果中不同物料类型的比例,比例顺序需严格按照(图文,长视频,短视频,小视频)进行。只允许传[0,100]数字,多个请用**英文冒号**分割,且加起来不能超过100,以及比例数量不能超过**场景绑定的物料类型**(图文,长视频,短视频,小视频)数。**示例:**图文和短视频比例为40%:60%时,则填40:60图文和短视频比例为0%:100%时,则填0:100图文,长视频和短视频的比例为,图文占20%,剩余80%由长视频和短视频随机返回,则填20:80或仅填20均可 :rtype: str """ return self._ItemTypeRatio @ItemTypeRatio.setter def ItemTypeRatio(self, ItemTypeRatio): self._ItemTypeRatio = ItemTypeRatio def _deserialize(self, params): self._Bid = params.get("Bid") self._SceneId = params.get("SceneId") if params.get("UserIdList") is not None: self._UserIdList = [] for item in params.get("UserIdList"): obj = UserIdInfo() obj._deserialize(item) self._UserIdList.append(obj) self._RecTraceId = params.get("RecTraceId") self._ItemCnt = params.get("ItemCnt") self._PoolId = params.get("PoolId") self._CurrentItemId = params.get("CurrentItemId") self._ResponseTimeout = params.get("ResponseTimeout") self._ItemTypeRatio = params.get("ItemTypeRatio") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecommendContentResponse(AbstractModel): """RecommendContent返回参数结构体 """ def __init__(self): r""" :param _RecTraceId: 推荐追踪id,用于行为上报。每次接口调用返回的traceId不同 :type RecTraceId: str :param _DataList: 标识具体的物料信息 :type DataList: list of RecItemData :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RecTraceId = None self._DataList = None self._RequestId = None @property def RecTraceId(self): """推荐追踪id,用于行为上报。每次接口调用返回的traceId不同 :rtype: str """ return self._RecTraceId @RecTraceId.setter def RecTraceId(self, RecTraceId): self._RecTraceId = RecTraceId @property def DataList(self): """标识具体的物料信息 :rtype: list of RecItemData """ return self._DataList @DataList.setter def DataList(self, DataList): self._DataList = DataList @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RecTraceId = params.get("RecTraceId") if params.get("DataList") is not None: self._DataList = [] for item in params.get("DataList"): obj = RecItemData() obj._deserialize(item) self._DataList.append(obj) self._RequestId = params.get("RequestId") class ReportActionRequest(AbstractModel): """ReportAction请求参数结构体 """ def __init__(self): r""" :param _Bid: 业务id :type Bid: str :param _DocBehaviorList: 上报的行为对象数组,数量不超过50 :type DocBehaviorList: list of DocBehavior """ self._Bid = None self._DocBehaviorList = None @property def Bid(self): """业务id :rtype: str """ return self._Bid @Bid.setter def Bid(self, Bid): self._Bid = Bid @property def DocBehaviorList(self): """上报的行为对象数组,数量不超过50 :rtype: list of DocBehavior """ return self._DocBehaviorList @DocBehaviorList.setter def DocBehaviorList(self, DocBehaviorList): self._DocBehaviorList = DocBehaviorList def _deserialize(self, params): self._Bid = params.get("Bid") if params.get("DocBehaviorList") is not None: self._DocBehaviorList = [] for item in params.get("DocBehaviorList"): obj = DocBehavior() obj._deserialize(item) self._DocBehaviorList.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ReportActionResponse(AbstractModel): """ReportAction返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class ReportMaterialRequest(AbstractModel): """ReportMaterial请求参数结构体 """ def __init__(self): r""" :param _Bid: 业务id :type Bid: str :param _DocItemList: 上报的信息流数组,一次数量不超过50 :type DocItemList: list of DocItem """ self._Bid = None self._DocItemList = None @property def Bid(self): """业务id :rtype: str """ return self._Bid @Bid.setter def Bid(self, Bid): self._Bid = Bid @property def DocItemList(self): """上报的信息流数组,一次数量不超过50 :rtype: list of DocItem """ return self._DocItemList @DocItemList.setter def DocItemList(self, DocItemList): self._DocItemList = DocItemList def _deserialize(self, params): self._Bid = params.get("Bid") if params.get("DocItemList") is not None: self._DocItemList = [] for item in params.get("DocItemList"): obj = DocItem() obj._deserialize(item) self._DocItemList.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ReportMaterialResponse(AbstractModel): """ReportMaterial返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class ReportPortraitRequest(AbstractModel): """ReportPortrait请求参数结构体 """ def __init__(self): r""" :param _Bid: 推荐平台上的业务id :type Bid: str :param _PortraitList: 上报的用户画像数组,数量不超过50 :type PortraitList: list of PortraitInfo """ self._Bid = None self._PortraitList = None @property def Bid(self): """推荐平台上的业务id :rtype: str """ return self._Bid @Bid.setter def Bid(self, Bid): self._Bid = Bid @property def PortraitList(self): """上报的用户画像数组,数量不超过50 :rtype: list of PortraitInfo """ return self._PortraitList @PortraitList.setter def PortraitList(self, PortraitList): self._PortraitList = PortraitList def _deserialize(self, params): self._Bid = params.get("Bid") if params.get("PortraitList") is not None: self._PortraitList = [] for item in params.get("PortraitList"): obj = PortraitInfo() obj._deserialize(item) self._PortraitList.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ReportPortraitResponse(AbstractModel): """ReportPortrait返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class TagInfo(AbstractModel): """标题信息 """ def __init__(self): r""" :param _Id: 标签id 注意:此字段可能返回 null,表示取不到有效值。 :type Id: str :param _Name: 标签名 注意:此字段可能返回 null,表示取不到有效值。 :type Name: str :param _Weight: 推荐权重 注意:此字段可能返回 null,表示取不到有效值。 :type Weight: float """ self._Id = None self._Name = None self._Weight = None @property def Id(self): """标签id 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Name(self): """标签名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Weight(self): """推荐权重 注意:此字段可能返回 null,表示取不到有效值。 :rtype: float """ return self._Weight @Weight.setter def Weight(self, Weight): self._Weight = Weight def _deserialize(self, params): self._Id = params.get("Id") self._Name = params.get("Name") self._Weight = params.get("Weight") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UserIdInfo(AbstractModel): """用户信息 """ def __init__(self): r""" :param _UserIdType: 用户ID类型: 1 - qq 2 - qq_md5:md5后的qq 3 - imei:设备imei(安卓10之后不会再授权imei,安卓10之后的imei映射关系可能拿不到,故安卓10之后的设备建议用oaid) 4 - imei_md5:md5后的imei 5 - idfa: Apple 向用户设备随机分配的设备标识符 6 - idfa_md5:md5之后的idfa 7 - gdt_openid:广点通生成的openid 8 - oaid:安卓10之后一种非永久性设备标识符 9 - oaid_md5:md5后的oaid 10 - wx_openid:微信openid 11 - qq_openid:QQ的openid 12 - phone:电话号码 13 - phone_md5:md5后的电话号码 14 - phone_sha256:SHA256加密的手机号 15 - phone_sm3:国密SM3加密的手机号 1000 - 客户自定义id :type UserIdType: int :param _UserId: 用户id :type UserId: str """ self._UserIdType = None self._UserId = None @property def UserIdType(self): """用户ID类型: 1 - qq 2 - qq_md5:md5后的qq 3 - imei:设备imei(安卓10之后不会再授权imei,安卓10之后的imei映射关系可能拿不到,故安卓10之后的设备建议用oaid) 4 - imei_md5:md5后的imei 5 - idfa: Apple 向用户设备随机分配的设备标识符 6 - idfa_md5:md5之后的idfa 7 - gdt_openid:广点通生成的openid 8 - oaid:安卓10之后一种非永久性设备标识符 9 - oaid_md5:md5后的oaid 10 - wx_openid:微信openid 11 - qq_openid:QQ的openid 12 - phone:电话号码 13 - phone_md5:md5后的电话号码 14 - phone_sha256:SHA256加密的手机号 15 - phone_sm3:国密SM3加密的手机号 1000 - 客户自定义id :rtype: int """ return self._UserIdType @UserIdType.setter def UserIdType(self, UserIdType): self._UserIdType = UserIdType @property def UserId(self): """用户id :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId def _deserialize(self, params): self._UserIdType = params.get("UserIdType") self._UserId = params.get("UserId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory