如何使用Facebook Business SDK获取页面的多个字段?
适配Facebook Business SDK的实践分享
嘿,我最近也碰到了一模一样的情况——Facebook在2018年4月24日和5月1日接连发布的API变更,直接逼着我们必须切换到Facebook Business SDK,说白了这玩意儿就是Facebook Marketing/Ads API的官方衍生工具,现在官方强推用它替代旧的API调用方式。
不过说实话,官方引导去GitHub看各类gems的时候,我发现几乎所有示例全是围绕广告和广告系列管理的,就拿facebook/facebook-ruby-business-sdk来说,想找个非广告场景的实用示例简直难上加难。
没办法,我只能对着官方入门页里的test.rb示例一点点抠细节、拼逻辑,终于搞出了一个能实现基础页面信息查询的可用代码片段,分享给你:
require 'facebook_business' # 初始化SDK,替换成你的有效访问令牌 Facebook::AdsApi.init(access_token: 'YOUR_VALID_ACCESS_TOKEN') # 目标页面ID,替换成你要查询的页面ID target_page_id = 'YOUR_TARGET_PAGE_ID' # 获取页面核心信息,可根据需求添加更多字段 page_details = Facebook::Ads::Object::Page.get( target_page_id, fields: ['name', 'about', 'fan_count', 'website'] ) # 输出结果 puts "页面名称: #{page_details['name']}" puts "页面简介: #{page_details['about']}" puts "粉丝总数: #{page_details['fan_count']}" puts "官方网站: #{page_details['website']}"
几个要注意的关键点:
- 一定要把
YOUR_VALID_ACCESS_TOKEN和YOUR_TARGET_PAGE_ID替换成你自己的有效凭证,不然肯定会报错; - 如果需要扩展其他功能,比如发布帖子或者获取评论,逻辑和这个示例是相通的,只是调用的对象和字段不同,官方文档虽然广告内容占比大,但基础的Graph API操作逻辑是共通的;
- 要是碰到权限问题,先去检查你的Facebook应用有没有申请对应的权限,比如查询页面信息需要
pages_show_list权限,得提前在应用后台配置好。
内容的提问来源于stack exchange,提问作者Chip Roberson
相关产品推荐
相关产品推荐

