【发布时间】:2013-04-22 06:04:30
【问题描述】:
我正在试验 Facebook 的长期访问令牌,我发现长期访问令牌可用于不同的用户。这正常吗?
我正在使用 Facebook PHP SDK v3.2.2 和 Yii。这是我从App_User_1生成长期访问令牌的代码
Yii::import('application.vendors.facebook.Facebook');
$facebook = new Facebook(
array(
'appId' => Yii::app()->params['facebookApi'],
'secret' => Yii::app()->params['facebookSecretCode'],
'cookie' => true,
)
);
$loginUrl = $facebook->getLoginUrl(array('display' => 'touch', 'scope' => 'publish_actions'));
$fbUser = $facebook->getUser();
if(!empty($fbUser))
{
$facebook->setExtendedAccessToken(); //long-live access_token 60 days
$access_token = $facebook->getAccessToken();
exit(print_r($access_token));
}
这是我测试发布到 App_User_1 的 Facebook 墙的代码。
$message = "A message";
$link = "http://www.alink.com";
$picture = "http://www.alink/image.png";
$sendTo = "`**App_User_1**`";
$access_token = "xxxxxxxxxx";
Yii::import('application.vendors.facebook.Facebook');
$facebook = new Facebook(
array(
'appId' => Yii::app()->params['facebookApi'],
'secret' => Yii::app()->params['facebookSecretCode'],
'cookie' => true,
)
);
$attachment = array('message' => $message, 'link' => $link, 'picture' => $picture );
$api = "/$sendTo/feed/?access_token='.$access_token,";
$result = $facebook->api($api,'post', $attachment);
我有 2 个测试应用用户。如果我替换 App_User_1 的访问令牌,我也可以发布到 App_User_2 的 Facebook 墙。这正常吗?
【问题讨论】:
-
如果发帖是指以用户 app_user_1 的身份发帖到 app_user_2 的墙上,那么可以。
-
嗨@JoachimIsaksson,如果我错了,请纠正我。但是,对于每个用户来说,长期访问令牌不是唯一的吗?谢谢。
-
是的,但是 app_user_1 可以在 app_user_2 的墙上发帖,如果他们是朋友的话。至少我的朋友每年都会为我的生日发帖;)
-
通过 PHP sdk 发布到朋友墙已在 2 月 6 日迁移中贬值。请查看developers roadmap
-
@JoachimIsaksson 不是真的。 app_user_1 根本不是 app_user_2 的朋友。我所做的是以 app_user_1 身份登录并获取他的长期访问令牌,然后注销。使用 app_user_1 的长期访问令牌,我可以将 app_user_1 的墙和 app_user_2 的墙作为应用发布。这就是我觉得奇怪的地方。
标签: php facebook yii facebook-php-sdk