字节跳动 巨量千川的M-API使用(一)

第一章 关于字节跳动的market API 介绍和准备工作

字节跳动的之前的AD广告投放后台,现在拆分为AD和电商两部分。
其中电商部分拆开独立成为了巨量千川,整合到抖店里。
原来的其他业务保留在AD平台了。
因此market API也拆分为巨量引擎API和巨量千川API,相应的接口也独立出去了。以下是开发文档的链接:
https://open.oceanengine.com/labels/12
可以切换巨量千川开放能力和巨量引擎开放能力。
字节跳动的开放平台提供有三个角色:服务商,代理商,广告主。
详细角色可以看文档介绍部分。
本系列会介绍的是巨量千川开放能力,角色为广告主
编程语言为Python,windows程序界面
第一步 注册成为开发者,按注册要求填写信息;
第二步 进行对公认证,角色可为服务商,代理商,广告主;(本文以广告主注册)
第三步 对公认证完成后,新建下 基础应用 ,分为巨量引擎应用和巨量千川应用(本文新建巨量千川应用);
第四步 上一步中的回调地址为可被字节调用的地址,若无,可以用本人的调用网址:
http://qcapi.top/hw.php
申请应用后,字节跳动会进行审核,大概48小时内会回复;
第五步 上一步通过后,不关闭,用店铺的最高权限的手机号登陆抖店,如果不知道,可以使用抖音号扫码登陆,然后在“授权URL”那里点击 “点击跳转” ,就会访问第四步的回调地址,在网页内显示authcode=后面一串数字,该数字为授权码(有效期为10分钟)。
第六步 拿到authcode后,就需要结合APP_ID,Secret,调用相应的接口以获取Access-Token和Refresh-Token
第七步 获得到 Access-Token和Refresh-Token才算一个阶段。
因为我们后面调用接口主要用到这两个Token。

第二章中会介绍调用接口获取Access-Token和Refresh-Token,并且定时更新Access-Token,以便调用api不断时间权限
第三章中会介绍如何获取到相应的数据并存储到mysql,通过php网页显示
第四章智能投放计划管理,设置关键参数阈值和计算出合理建议,可根据实际情况是否开启智能投放操作

### 使用 Python 调用巨量 API 的方法 为了成功调用字节跳动旗下的巨量平台所提供的 M-API 接口,在实际操作前需确保已获得 `access_token` 和必要的认证信息。此过程涉及多个步骤,包括但不限于获取授权码 (`auth_code`) 及通过该授权码换取访问令牌 (`access_token`)。 #### 获取 Access Token 首先,需要实现从授权服务器请求 access token 的功能。这通常涉及到向特定 URL 发送 POST 请求并附带客户端凭证和其他必要参数: ```python import requests def get_access_token(client_id, client_secret, auth_code): url = "https://open.oceanengine.com/oauth2/access_token" payload = { 'client_key': client_id, 'client_secret': client_secret, 'grant_type': 'authorization_code', 'code': auth_code } response = requests.post(url, data=payload).json() return response.get('data', {}).get('access_token') ``` 旦获得了有效的 `access_token` 后,则可以利用它来查询广告计划或其他所需资源。下面是个简单的例子展示如何使用上述提到的 token 来获取广告投放方案列表: #### 查询广告计划数据 当拥有有效期内的 `access_token` 时,可以通过指定接口如 `/v1/ad/get/plan/list/` 来检索广告计划详情。这里需要注意的是具体路径可能依据官方最新文档有所变动,因此建议始终参照最新的API手册进行开发工作[^2]。 ```python def fetch_ad_plans(access_token, advertiser_id): url = f"https://api.oceanengine.com/v1/ad/get/plan/list/" headers = {"Authorization": f"Bearer {access_token}"} params = {'advertiser_ids': str(advertiser_id)} try: resp = requests.get(url=url, headers=headers, params=params) result = resp.json() if not isinstance(result['message'], string_types) or int(result['code']) != 0: raise Exception(f"Error fetching ad plans: {result}") plan_list = [] for item in result["data"]["list"]: entry = {} entry['account_name'] = item.get('account_name') entry['account_id'] = item.get('account_id') # Add more fields as needed based on the actual structure returned by the API plan_list.append(entry) return plan_list except Exception as e: print(e) return None ``` 以上代码片段展示了怎样构建 HTTP GET 请求以取得广告计划的信息,并处理返回的结果集。值得注意的是,除了基础的身份验证外,还需要根据业务需求调整所传递给服务端的具体参数设置。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值