3

我在一个站点上工作,如果在上面发布了某些内容,我需要将该站点的页面链接发布到一个特殊的用户墙或页面,这意味着我只需要一个用户来发布该问题。

我面临的问题是访问令牌,因为我不想在网站流量前显示 facebook 登录页面。它不像在用户墙上共享,我们基本上是在尝试自动在页面上发布状态,因此对于这个问题的任何帮助将不胜感激。

我正在使用以下代码,只要页面的访问令牌有效,它似乎就可以正常工作,但我需要制作一些永久的东西,以便我可以在硬编码的 php 代码中添加所有信息,并且它可以在几周内工作 -至少不更改 api 密钥或令牌

$appid = 'code';
$appsecret = 'code';
$wall= $pageId = 'code';

$token='page token';

$facebook = new Facebook(array('appId'  => $appid, 'secret' => $appsecret, 'cookie' => true));

$params=array( 'message' => $msg,'name' => $title, 'caption' => $title, 'link' =>$uri,'description' => $desc, 'picture' => $pic, 'access_token' => $token,'actions' => json_encode(array('name' => $action_name,'link' => $action_link)) );

$result = $facebook->api($wall.'/feed/','post',$params);

如果我从图形 api 调试页面制作令牌,那么它工作正常,但一段时间后我收到消息“OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。”

我真的很想为它找到一些可靠的东西。

谢谢你

4

2 回答 2

2

您可以编写一个以特殊用户身份运行并进行所需 FB api 调用的后端脚本(可能是使用 FB PHP-SDK 的 cron 作业)。为此,您将需要使用长期访问令牌,需要每 60 天更新一次。您也可以使用App Access Token尝试您的 FB api 调用,它不会过期,但也不支持所有 FB 发布和其他操作。

于 2012-10-28T23:39:12.077 回答
0

要发布到某人的墙上(或使用打开的图表执行任何操作),您必须通过 facebook 作为他们图表中的某人或他们已授予权限的应用程序进行身份验证。

您应该查看可以使用 oauth 范围属性设置的权限...

https://developers.facebook.com/docs/reference/dialogs/oauth/

在我看来,如果您想写信给他们的朋友墙以及您被认证为的用户,他们似乎需要授予您的应用程序 publish_stream。

https://developers.facebook.com/docs/reference/login/extended-permissions/

于 2012-10-28T23:38:29.770 回答