如何发布到 Facebook 页面(如何获取页面访问令牌 + 用户访问令牌)

2024-01-13

当我作为不同的 Facebook 用户(不是页面管理员)使用我的应用程序时,我正在尝试弄清楚如何发布到 Facebook 页面墙。

我在测试时收到一系列错误消息: 异常:200:用户尚未授权应用程序执行此操作

页面管理员已访问该应用程序并接受以下权限:publish_stream、manage_pages、offline_access

这是我计划使用的代码:

// Insert Page Administrators ID here 
// This user is not the same user that is currently logged in and using the app
// This user is the page administrator who has authorised: 
// - manage_pages
// - offline_access
// - publish_stream

$user_id = '123456789'; 

// Insert Page ID here
$page_id = '123456789'; 

$accounts = $facebook->api('/'.$user_id.'/accounts');

foreach($accounts['data'] as $account)
{
  if($account['id'] == $page_id)
  {
    $page_access_token = $account['access_token'];
    echo "<p>Page Access Token: $page_access_token</p>";
  }
}

// publish to the wall on your page
try
{
  $result = $facebook->api(array( "uid" => $page_id, 
                                  "method" => "stream.publish",
                                  "access_token" => $page_access_token,
                                  "message" => $message, ));
}
catch (FacebookApiException $e)
{
  error_log('FB Error: Could not post on Page Wall. Page ID: ' . $page_id);
  error_log('FB Error Message: ' . $e);
}

注意:上面的代码中可能存在 PHP 错误,因为我只是即时拼接它,但这并不是我需要纠正的 PHP 错误,而是更多的是我对如何进行此过程的逻辑理解。

问题: 如果没有页面管理员的活动用户访问令牌,我无法访问 $user_id/accounts 信息。

我想要实现的最终结果是: 1.) 普通 FB 用户访问应用程序并提交表单 2.) 该应用程序在 FB 页面墙上发布消息,该页面不属于 FB 用户所有,但之前已获得页面管理员授权,具有以下权限:manage_pages、publish_stream 和offline_access

Q1.由于页面管理员已接受适当的权限,为什么我不能在实际页面管理员用户登录网站的情况下生成活动用户访问令牌?

Q2。当我以其他用户身份登录 Facebook 时,有没有办法获得相当于页面管理员 user_id 的 /$user_id/accounts 的值(这就是我不使用 /me/accounts 的原因)?

Q3。请确认我对需要页面访问令牌发布到页面墙的理解是正确的(或者我是否需要页面管理员的用户 access_token - 参见问题 1)?

Q4。任何人都有关于每种类型的 access_token 实际可以访问的内容的方便资源吗?

如果您需要更多信息,请告诉我。 过去几天我一直在研究这个问题,但我陷入了困境。

Thanks!


  1. 您可以向页面管理员询问manage_pages随着offline_access。我在我的生产应用程序中执行此操作,以便能够将预定的帖子发布到页面墙上。

  2. 没有。不可能。这就是请求权限的全部内容。为什么不是每个人都可以管理其他人的页面。您能想象如果您可以管理任何人的页面而无需他们授予您访问权限吗?!?

  3. 要作为页面发布到页面,您需要页面访问令牌。要以用户身份发布到页面墙,您需要用户访问令牌。

  4. 是的,请参阅:https://developers.facebook.com/docs/reference/api/permissions https://developers.facebook.com/docs/reference/api/permissions and https://developers.facebook.com/docs/authentication/ https://developers.facebook.com/docs/authentication/

如果您对其中任何一个还有其他疑问,请提出一个新问题。对于 stackoverflow 用户来说,一并回答 4 个问题,然后又被问到每一个问题的后续问题,这确实不公平。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何发布到 Facebook 页面(如何获取页面访问令牌 + 用户访问令牌) 的相关文章

  • 如何构建像 Facebook 一样的通知电子邮件/回复系统?

    当用户在 Facebook 上收到有关新私人消息的通知电子邮件时 他们可以回复该电子邮件 并将其回复自动添加到网站上的对话中 如何构建这样的跨平台系统 我正在建立一个群聊系统 这显然过于简单化了 但我们开始吧 Facebook 电子邮件的工
  • 是否可以在 iOS 上确保 oauth 安全?

    是否可以在 iOS 上确保 oauth 安全 我正在调查OAuth 2 0 http tools ietf org pdf draft ietf oauth v2 12 pdf作为一种为 iOS 应用程序 套件 实现单点登录 授权的方法 为
  • 在派生自 Control 的 ASP.NET 自定义控件中呈现自关闭标记

    我正在开发 Facebook FBML 控件库 并希望创建类似于 ASP NET WebControls 库的 FBML 控件 我有一个默认处理渲染的基类 这是我的渲染方法 protected override void Render Ht
  • 无法使用新 API 发送 FB 通知

    在这方面确实需要一些帮助 我正在尝试使用新的通知 API 从画布应用程序发送通知 但我不断收到以下异常 OAuthException 200 只有 Web 画布应用程序可以发送应用程序通知 但是 该应用程序已加载到 Facebook 画布中
  • 无法将 Facebook 页面的提要添加到我的应用程序中

    我希望我的应用程序只显示 Facebook 页面发布的帖子 无需任何身份验证 这是代码 public class Main extends Activity Override protected void onCreate Bundle s
  • 识别用户是否在 iOS 6 设置中定义了本机 Facebook 帐户

    有没有办法通过 FACEBOOK SDK 3 1 和 iOS 6 知道用户是否在 iPhone 设置中定义了其 Facebook 帐户以供本机 Facebook 使用 我想要做的是 当打开我的应用程序时 如果用户在 iPhone 设置中定义
  • 如何从 facebook javascript SDK 获取个人资料图片?

    我正在尝试从 Facebook 获取个人资料图片 现在我正在从 Facebook 获取所有信息 但无法获取用户的个人资料照片 这是我的代码 function getFBData FB api me function response fbi
  • 如何让付费版和免费版iOS应用共享FB App ID?

    我有同一个 iPhone 应用程序的免费版和付费版 我希望他们共享一个 Facebook 应用程序 ID 因为它们本质上是同一个应用程序 我认为我可以通过使用 Facebook 类中的这个方法来完成此任务 void authorize NS
  • FB API 调用中“无法代表此用户调用 API”

    我在调用 facebook API 时遇到问题 我正在使用 Koala 进行服务器端 api 调用 但最近在进 行 api 调用时遇到问题 所以我尝试绕过 koala 调用并使用 call 进行原始 api http 调用 但无济于事 当我
  • 需要有关在 Facebook 上使用图搜索参数进行主题标签查询的帮助

    问题 我想查找包含两个主题标签 例如 games 和 movies 的公共帖子 图表搜索显然不适用于主题标签 您知道如何使用 Graph API 设置查询来帮助我找到那些特定的帖子吗 提前致谢 您可以使用标准的帖子搜索 API 如此处答案中
  • iphone facebook app 如何修复导航栏

    我是 iPhone 开发新手 想询问有关导航控制器的问题 如何使导航控制器固定在整个应用程序上 例如 Facebook 导航栏 它始终在导航栏中显示通知 好友和消息 我试图将自定义视图放入 titleView 但每次导航推送新视图时它都会消
  • Android 和 Facebook 共享意图

    我正在开发一个 Android 应用程序 并且有兴趣了解如何使用 Android 的共享意图在应用程序内更新应用程序用户的状态 浏览过 Facebook 的 SDK 后 这似乎很容易做到 但是我很想允许用户通过常规的共享意图弹出窗口来做到这
  • 在 Ruby/Sinatra 中解码 Facebook 的签名请求

    由于 Facebook 不赞成使用新的 FBML 我正在寻找一种新方法来创建 显示 选项卡 向粉丝显示一个版本 向非粉丝显示另一个版本的页面选项卡 Facebook 已将数据添加到signed request 中 当用户在应用程序中选择您的
  • 如何检测 Facebook 应用内浏览器?

    您有过 Facebook 应用内浏览器检测的经验吗 用户代理的核心区别是什么 我不想知道它是否是唯一的移动 ios chrome 我需要知道用户代理是否特定于Facebook 应用内浏览器 您可以在用户代理中检查 FBAN FBAV 检查此
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • 自定义 Facebook FOSFacebookBundle 登录按钮

    有人知道如何自定义 更改 FosFacebook 登录按钮的图像吗 facebook login button autologoutlink true 并在整页 Facebook 登录上重定向 而不是在弹出窗口上重定向 这使用了 twig
  • 无法使用 IdentityServer 验证 AccessToken

    我们使用 IdentityServer 进行身份验证 并使用 JwtSecurityTokenHandler ValidateToken 验证访问令牌 这曾经工作正常 但在我们将客户端应用程序升级到 ASP NET Core 1 0 RTM
  • 在 React Native 中调试应用程序崩溃

    我是 React Native 新手 我正在尝试安装 React Native Facebook SDK 以便我可以使用我的应用程序进行 Facebook 登录 我按照此处列出的步骤操作 https tylermcginnis com in
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 重定向并保留我的图标

    我想知道当您单击 facebook 上的链接时 facebook 重定向如何保留其 favicon 并使用 FB favicon 打开新选项卡 我想知道如何实现这一点 它不是 iframe 所以我怎么能做这样的事情 我应该从哪里开始 当重定

随机推荐