gpt4 book ai didi

facebook - 如何在 Facebook 页面上发帖?

转载 作者:行者123 更新时间:2023-12-02 09:10:19 25 4
gpt4 key购买 nike

我有一个 Facebook 页面 https://www.facebook.com/xxxx和一个网站 http://xxxx.com 。如何对 Facebook 页面进行状态更新,以与实际网站上的每个新帖子相对应?该更新应该由该页面编写,而不是由我的个人 Facebook 帐户编写。

我知道这似乎是一个重复的问题,但请听我说完。我已经为此工作了几个小时。我找到了很多关于这个主题的帮助,但所有这些都是不完整或过时的。大多数答案告诉我需要做什么,但没有告诉我如何做。

我能找到的最接近我正在寻找的内容是官方文档中的注释。

https://developers.facebook.com/docs/opengraph/#publishing

这是迄今为止我所能做的。我创建了 Facebook 页面。我创建了一个 Facebook 应用程序。我将应用程序添加到页面。我将该应用程序添加到我的个人帐户并授予其管理页面权限。我试图从页面用户的角度授予它manage_pages权限,但这似乎不可能。

我可以使用它来获取应用程序的访问 key :

curl -s -F grant_type=client_credentials -F client_id=APPID -F client_secret=APPSECRET https://graph.facebook.com/oauth/access_token

然后我尝试这样做以实际进行状态更新。

curl -s -F access_token=ACCESS_TOKEN -F message='test' https://graph.facebook.com/xxxx/feed

这会返回一条消息,表明用户尚未授权应用程序执行此操作。我认为这是因为我试图以页面用户而不是我的个人用户身份发帖。

如何获得正确的访问 key 以作为页面用户在页面上发帖?另外,我如何确保访问 key 不会过期?获得访问 key 后,我该如何制作帖子才能使其显示在正确的位置?

最佳答案

以下是 manage_pages 权限的工作原理。

  • Bob 有一个名为 Awesemo 的页面。
  • Bob 希望 UltraPageManager5000管理他的页面。
  • Bob 转到 UltraPageManager5000 设置的页面,该页面向 UltraPageManager5000 授予 manage_pagespublish_stream 和 < strong>offline_access 权限(就像普通的连接应用程序一样)。您必须确保请求 offline_access,否则访问 token 将会过期。
  • UltraPageManager5000 现在拥有 Bob 的访问 token ,但没有其页面的访问 token 。
  • 现在,当 UltraPageManager5000 想要对其某个页面执行任何操作时,他们会访问 https://graph.facebook.com/uid/accounts/?access_token=bobs_access_token 并查找“Awesome-O”页面来获取正确的访问 token 。

我制定了一种方法,可以为您简化一点。

function get_page_access_token($page_id, $access_token, $user_id) {
$data = file_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
$pages = json_decode($data,true);
foreach($pages['data'] as $page) {
if($page['id'] == $page_id) {
return $page['access_token'];
}
}
}

一旦您拥有实际的访问 token ,以下 HTTP POST 将实际创建状态更新。

curl -F access_token="the token you got for the page from the command above" \
-F message="the status update you want to post" \
https://graph.facebook.com/PAGE_ID/feed

关于facebook - 如何在 Facebook 页面上发帖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com