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来适应不同的使用场景:

  1. user access token

    当需要访问用户数据时,通常通过请求用户登录获取到一个access token,然后通过这个token就可以请求用户信息。

  2. 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。

  3. page access token

    当app需要读取修改facebook page数据时,app需要先获取user access token,然后申请manage_pages权限。

  4. client token

    很少用,facebook对其也没有很详细的描述。

Facebook广告API系列 1的更多相关文章

  1. Facebook广告API系列 2 - Audience Management

    Facebook广告API系列 2 Facebook marketing API有三大组成部分: Audience Management Ads Management Ads Insights 本篇稍 ...

  2. Facebook广告API系列 3 Ads Management

    Facebook广告API系列 3 Facebook marketing API有三大组成部分: Audience Management Ads Management Ads Insights 本篇介 ...

  3. Facebook广告API系列 Business Manager

    Facebook广告API系列 Business Manager Business Manager,是个很牛叉的东西,有多牛叉呢? 因为facebook已经越来越商业化了,上面的每个账号,页面,往往都 ...

  4. Facebook 广告投放相关概念简介(1)

    本文不涉及具体代码实现,仅对开发API的前置内容做简单介绍,想参考代码请绕行! 广告主(广告管理工具) ·需要推广自己的应用.网站.主页,所以有了广告管理工具 . ·一个广告主仅可拥有一个广告账户(可 ...

  5. 深入理解javascript选择器API系列第三篇——h5新增的3种selector方法

    × 目录 [1]方法 [2]非实时 [3]缺陷 前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuer ...

  6. Web API系列(三)统一异常处理

    前面讲了webapi的安全验证和参数安全,不清楚的朋友,可以看看前面的文章,<Web API系列(二)接口安全和参数校验>,本文主要介绍Web API异常结果的处理.作为内部或者是对外提供 ...

  7. Web API系列(二)接口安全和参数校验

    以前简单介绍过web api 的设计,但是还是有很多朋友问我,如何合理的设计和实现web api.比如,接口安全,异常处理,统一数据返回等问题.所以有必要系统的总结总结 web api 的设计和实现. ...

  8. phoenix 开发API系列 目录

    phoenix 开发API系列(一)创建简单的http api phoenix 开发API系列(二)phoenix 各类 api 实现方式 phoenix 开发API系列(三)phoenix api ...

  9. phoenix 开发API系列(三)phoenix api 结合数据库

    概述 介绍了 api 的各种写法之后,下面介绍构建 api 时与数据库连接的方式. 注 下面使用的工程的完整代码已经公开在: http://git.oschina.net/wangyubin/phoe ...

随机推荐

  1. 【编码备份】1.9从Excel中导入用户名进行测试,用户一次进入系统进行答题测试。

    # coding=utf-8 """ Created on 2017年7月31日 @author: candy """ from selen ...

  2. 十天精通CSS3(5)

    background-origin 设置元素背景图片的原始起始位置. 语法: background-origin : border-box | padding-box | content-box; 参 ...

  3. PHP Warning: preg_match(): JIT compilation failed: no more memory in

    PHP7.3出现如下错误:PHP Warning: preg_match(): JIT compilation failed: no more memory in ... 解决方案: 修改 /usr/ ...

  4. SparkSQL UDF使用方法与原理详解

    UDF是SQL中很常见的功能,但在Spark-1.6及之前的版本,只能创建临时UDF,不支持创建持久化的UDF,除非修改Spark源码.从Spark-2.0开始,SparkSQL终于支持持久化的UDF ...

  5. [js]ext.js探索

    Ext JS 经常会遇到布局等头疼的问题,一直在用bootstrap,但是我不喜欢这玩意出的效果想找个合适的js架构入手 http://examples.sencha.com/extjs/6.6.0/ ...

  6. git分支名一直带rebasing,如何去除

    git分支名一直rebasing, 使用git rebase --continue git rebase --skip git reset --abort 都没有用, 最后直接删除 当前目录下的.gi ...

  7. CentOS6.5安装Twemproxy集群

    Twemproxy,也叫Nutcraker.是一个Twtter开源的一个Redis和Memcache代理服务器. Redis作为一个高效的缓存服务器,非常具有应用价值.但是当使用比较多的时候,就希望可 ...

  8. UVM中的regmodel建模(三)

    总结一下UVM中的寄存器访问实现: 后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block ...

  9. animation效果

    添加一个颜色灰渐变的动画效果. <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  10. VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)

    前面一节中鸡啄米为大家简单介绍了如何创建Ribbon样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar添加Ribbon控件. VS2010为Ribbon界面开发提供了Ribbon De ...