【发布时间】:2015-09-01 09:59:50
【问题描述】:
我有下面的 sn-p,它可以作为我在 Facebook 上的用户帐户发布到 Facebook 页面。
值FACEBOOK_* 在代码库的前面定义。
// SDK Version 5.0
$fb = new Facebook\Facebook([
'app_id' => FACEBOOK_APP_ID,
'app_secret' => FACEBOOK_APP_SECRET,
'default_graph_version' => 'v2.4',
]);
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post('/'.FACEBOOK_PAGE_ID.'/feed', $postData, FACEBOOK_ACCESS_TOKEN);
$postId = $response->getGraphNode();
现在我的问题是如何将其作为实际页面发布,而不是作为页面管理员的我的帐户发布。
我查看了 SDK 文档并且一直在转圈,有很多 v4 的示例,但由于它已被弃用,我正在尝试使用 v5,但似乎无法弄清楚,我发现的任何发布归属或冒名顶替的链接都是 SDK v5 中的死链接。
据我所知,我需要调用 /{user-id}/accounts 以从我的用户 https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens 获取页面的访问令牌
但要获得{user-id},我必须使用 SDK 文档中的以下示例查询用户:
// Make sure to load the Facebook SDK for PHP via composer or manually
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
if($session) {
try {
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
echo "Name: " . $user_profile->getName();
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
这里的问题是我不知道如何获取我需要获取用户数据的会话,该用户数据为我提供访问令牌以允许我将访问令牌传递到上面的代码 sn-p 中,这就是如果我理解正确!?
非常感谢任何帮助!
【问题讨论】:
-
你找到解决这个问题的方法了吗?我在使用这个新 SDK 时遇到了很多错误。 Posted another question here
-
@Zl3n,不,抱歉,我还不能让它工作,还在努力解决,如果我解决了,我会在这里发帖。
-
非常感谢,您让我有一个我没有想到的讨论。它有效!
-
@Zl3n,你能发布你的解决方案吗?
-
同样的问题,有解决办法吗?