Facebook广告API系列 1
Facebook广告API系列 1
前言
最近遇到大坑了,居然要去对接facebook的广告API,之前以为是跟鹅厂一样的API体系,看了半天Facebook的文档,冷汗直冒。。。。
这得一点一点的讲才行。。。
Facebook Graph API
Facebook提供了一套类rest的接口,统称为Graph API。为啥叫Graph?因为facebook把所有的资源都抽象成节点,资源之间的关联关系抽象成边。访问节点数据,直接通过 GET /版本号/节点id。访问特定节点A的边,通过 GET /版本号/节点A id/AB边的名称。
具体的例子,比如一个广告计划campaign的id如果是2e43,读取广告计划数据就是:
GET /v2.5/2e43
{
"field name" : {field value},
...
}
就这么简单。
如果我们想了解刚刚那个广告计划下有多少个广告集合(AdSet)?,AdSet的边名称是adsets,于是通过:
GET /v2.5/2e43/adsets
{
"data" : [
... elements
],
"paging" : {
“cursors" : {
"after" : {afterIds},
"before" : {beforeIds}
},
"previous" : {previousUrl},
"next" : {nextUrl}
}
}
就会返回id为2e43的campaign下的所有AdSet信息了。
Access token
facebook为其一系列api设置了四种token来适应不同的使用场景:
-
user access token
当需要访问用户数据时,通常通过请求用户登录获取到一个access token,然后通过这个token就可以请求用户信息。
-
app access token
当需要修改app设置时,使用app和facebook协定的secret,通过server-to-server call的形式获取到app access token。
获取token:GET /oauth/access_token? client_id={app-id}&client_secret={app-secret}&grant_type=client_credentials
facebook还提供了一种不需要附加token的方式:
GET {url}?access_token=appid|appsecret
这种方式就是让facebook帮你生成token。
-
page access token
当app需要读取修改facebook page数据时,app需要先获取user access token,然后申请manage_pages权限。
-
client token
很少用,facebook对其也没有很详细的描述。