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_credentialsfacebook還提供了一種不需要附加token的方式:
GET {url}?access_token=appid|appsecret這種方式就是讓facebook幫你生成token。
-
page access token
當app需要讀取修改facebook page數據時,app需要先獲取user access token,然后申請manage_pages權限。
-
client token
很少用,facebook對其也沒有很詳細的描述。
