Php Facebook长期访问令牌是否可用于多个用户?

Php Facebook长期访问令牌是否可用于多个用户?,php,facebook,yii,facebook-php-sdk,Php,Facebook,Yii,Facebook Php Sdk,我正在试验Facebook的长寿命访问令牌,我发现长寿命访问令牌可用于不同的用户。这正常吗 我正在使用FacebookPHPSDKV3.2.2和Yii。下面是我从App\u User\u 1 Yii::import('application.vendors.facebook.Facebook'); $facebook = new Facebook( array( 'appId' => Yii::app()->params['facebookApi'],

我正在试验Facebook的长寿命访问令牌,我发现长寿命访问令牌可用于不同的用户。这正常吗

我正在使用FacebookPHPSDKV3.2.2和Yii。下面是我从
App\u User\u 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));
}
以下是我的代码,用于测试发布到
应用程序用户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\u User\u 1
的访问令牌,我还可以发布到
App\u User\u 2
的Facebook墙中。这正常吗?

我想我可能做得不对。使用PHPSDK,
api
方法不会将access_令牌识别为其路径参数的一部分。(
例如/me/feed/?access\u token=blah

相反,应该在数组格式的可选参数下指定访问令牌

这是我如何让我的工作

$facebook_uid = '1234567890';
//Initialize array for the params parameter
$fb_data = array();
$fb_data['access_token'] = 'xxxxxxxxxx';
$fb_data['message'] = 'A test message';
$facebook->api('/'.$facebook_uid.'/feed/', 'post', $fb_data);
尝试将访问令牌与其他应用程序用户的访问令牌交换,但根本不指定访问令牌。两者都将导致错误(#200)。用户未授权应用程序执行此操作


我还建议Facebook使用此工具来验证您的应用程序是否正确生成了access_令牌

如果你所说的发布是指以用户app_user_1的身份发布到app_user_2的墙上,那么是的。嗨@JoachimIsaksson,如果我错了,请纠正我。但是,长寿命访问令牌对每个用户来说不是唯一的吗?谢谢。是的,但是如果他们是朋友,app_user_1可以发布到app_user_2的墙上。至少我的朋友每年都会在我生日那天发帖子;)在2月6日的迁移中,PHPSDK发布到朋友墙的帖子已经贬值。请检查@JoachimIsaksson,不是真的。应用程序用户1与应用程序用户2根本不是朋友。我所做的是以app_user_1的身份登录,获取他的长期访问令牌,然后注销。有了app_user_1的长期访问令牌,我可以作为一个应用程序发布到app_user_1和app_user_2的墙上。这就是我觉得奇怪的地方。