今日头条Marketing API小工具(.Net Core版本)
前言
由于工作原因,需要用到今日头条的Marketing API做一些广告投放的定制化开发。然后看现在网上也没多少关于头条Marketing API的文章,于是便就有了该篇文章。
头条Marketing API主页地址:https://ad.toutiao.com/openapi/index.html。
头条Marketing API开发文档:https://ad.toutiao.com/openapi/doc/index.html
交互图
典型的OAuth2.0授权流程:
使用步骤
1. 首先需要去主页注册一个开发者账号,并申请一个APPID,设置好回调地址
因为从头条重定向回自己的站点只是浏览器行为,所有回调地址填写本机可访问的地址即可(不需要头条能访问),这里是http://localhost:5000/api/auth/callback。
2. 在appsettings.json中设置APPID + Secret
3. 启动项目,即可直接在swagger中使用
程序逻辑
1. 在launchsettings.json中设置启动地址为http://localhost:5000/api/auth
2. 浏览器访问地址http://localhost:5000/api/auth,会重定向到今日头条的认证地址,并且拼接好参数
3. 跳转到今日头条的认证地址并点击“同意授权”
4. 重定向回http://localhost:5000/api/auth/callback并带回了auth_code参数
5. 利用AuthCode + AppId + Secret调用头条认证API获取AccessToken,并把AccessToken缓存到内存中,然后重定向回swagger
调用头条API
0. 示例代码
1. 根据文档拼接对应参数
var url = "https://ad.toutiao.com/open_api/2/ad/get/" + "?advertiser_id=" + advertiserId + "&page=" + page + "&page_size=" + pageSize;
2. 从缓存中取出之前得到的AccessToken
_cache.Get<string>(ToutiaoCacheKey.AccessToken)
3. 构造请求头信息
client.DefaultRequestHeaders.Add("Access-Token", accessToken);
4. 调用API,并把返回的json反序列化为dynamic类型
var response = await _restClient.GetAsync<DynamicResponse>(url, _cache.Get<string>(ToutiaoCacheKey.AccessToken));
5. 输出结果到浏览器
说明:示例中只有查询类API,没有操作类型的API,主要是考虑到操作可能会影响到现有业务。
操作类型API
代码调用操作类型的API时,可能需要构建请求json对应的实体,这里可以使用Visual Studio的选择性编辑功能,快速生成对象。
示例:
1. 拷贝json
2. 新建一个cs文件,点击Visual Studio菜单栏的“编辑” -> “选择性编辑” -> “保存json为类”
3. 设置JsonProperty(可选,规范、美观考虑)
其实,头条的开发文档中有提供操作API的示例json,但是示例json的字段有些不全,而请求API的结果基本包含了操作API的字段。
因此,可以使用操作API的返回json来生成操作请求。同时,这个小工具也可以做一些前期的简单查询。
源码地址
https://github.com/ErikXu/ToutiaoApi
原文地址:https://www.cnblogs.com/Erik_Xu/p/10055384.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
今日头条Marketing API小工具(.Net Core版本)相关推荐
- 今日头条安卓_今日头条加入“常用”小程序窗口,小游戏或将再次崛起?
安卓手机在今日头条7.1.8版本更新后,头条APP底部出现了[常用]标签,而点击后则会弹出小程序桌面.此前在今日头条上使用过的小程序会出现在此处.最好的位置+战略级的布局,已经很明确告诉我们,需要在今 ...
- AI如何反低俗?今日头条推内容检测工具“灵犬”3.0,首次公开其技术原理
安妮 发自 北三环西路 量子位 出品 | 公众号 QbitAI 男默女泪.不看不是中国人.看完惊呆.身份惊人.不看吃亏.癌症凶手--这些标题党文章的惯用词汇,还熟悉吗. 昨天(7月30日),今日头条发 ...
- 今日头条/抖音小程序开源商城,附带开源项目地址
项目地址 https://github.com/EastWorld/tt-app-mall 头条/抖音小程序商城 头条/抖音小程序商城,头条/抖音小程序微店,长期维护版本,欢迎大家踊跃提交贡献代码: ...
- rost反剽窃检测系统_色情、低俗信息没得治?今日头条这款检测工具,240万人都在用!...
不同于色情信息,处理低俗信息的一个难点在于,人们对于低俗的判断标准具有一定的主观性. 刺猬公社 | 石灿 2月20日,今日头条方面宣布了"灵犬"全面升级的消息.除了反色情低俗,新版 ...
- 阿里腾讯今日头条纷纷选择的工具,ClickHouse到底有什么本事?
简介:ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域.目前国内社区火热,各个大厂纷纷跟进大规模使用 ❞ ClickHouse是近年来备受关注的开源列式数据库,主 ...
- vue仿今日头条_微信小程序仿今日头条导航栏滚动解析
项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再weui里面看到了类似的例子 地址:https://weui.shanliwawa.top/demo/js4.html,使用iscroll- ...
- 新春第六波:《今日头条》推荐-小程序极速开发用逐浪、高端CMS用真棒
关于本功能的简介: 字库大师是一款由字体网ziti163.com发布的小程序,其背后研发团队是高端软件研发厂商-上海Zoomla!逐浪CMS团队,作为微软与腾讯开... 字库大师是一款由字体网ziti ...
- 微信小程序开发-仿今日头条(二)
该仿今日头条的文章系列如下: 微信小程序-仿今日头条客户端 微信小程序开发-仿今日头条(二) 转载请标明:https://blog.csdn.net/yangjianbo456/article/det ...
- 微信小程序-仿今日头条客户端
该仿今日头条的文章系列如下: 微信小程序-仿今日头条客户端 微信小程序开发-仿今日头条(二) 转载请标明:https://blog.csdn.net/yangjianbo456/article/det ...
最新文章
- 自动售货机编程_Rosmaro中基于视觉自动机的编程简介
- R语言无序多分类Logistic回归模型实战
- linux /proc/net/tcp 文件分析
- C/C++编程的一些技巧
- java jdbc 详解_JDBC详解
- HDU1754 —— I Hate It 线段树 单点修改及区间最大值
- Linux bind DNS配置
- 《暗黑破坏神2》关于d2loader的使用说明
- 项目源代码迁移到另一个gitlab的方法(保留原来的提交记录)
- 通信技术——水下通信技术的分类、特征、应用及其最新研究进展
- springcloud微服务中跨域配置
- UE4源码阅读_骨骼模型与动画系统_Mesh
- 计算机的击键方法教学教案,2.2 敲击键盘 教案
- C++保存中间结果到文件
- 职教计算机录取分数,今年高职院校录取分数线是多少?
- UML在线绘图 - ProcessOn
- C++封装一个易用的打印backtrace信息的函数
- 用HTML5图形拼成的画房子,未来的房子绘画作品图片欣赏
- 小i机器人、招行、复旦等专家教你:AI时代服务创新与企业转型
- Android Studio gradle下载依赖包失败的解决办法
热门文章
- html标签属性和标签事件,HTML参考手册( 标签、属性和事件)
- 1. ReactJS基础(开发环境搭建)
- 能上架App的GooglePlay开发者账号获取流程
- ASP.NET Session的七点认识(转)
- 08_drain a node on the swarm
- 在Ant的javac中指定源文件编码方式,以避免警告: 编码 GBK 的不可映射字符的错误...
- 关于清晰讲解linux正则表达式的博文分享
- SQL Sever 性能调优
- oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)
- PHP环境,放置系统盘的文件