2013-05-04 39 views
0

嗨我想弄清楚如何发布应用程序用户的墙上从我的应用程序作为他们自己。我正在使用PHP SDK 3.2.2。这是我的代码到目前为止。你需要一个访问令牌来贴在应用用户的墙上吗?

$facebook = new Facebook(
    array(
     'appId' => 1234567890abcdefg, 
     'secret' => 1234567890abcdefg, 
     'cookie' => true, 
    ) 
); 
$facebookId = '1234567890'; 
$status = array(
    'message' => 'Message', 
    'name' => 'Name', 
    'description' => 'Description', 
    'link' => 'http://www.google.com', 
    'picture' => 'http://www.something.com/placehold.gif', 
); 
$facebook->api('/'.$facebookId.'/feed/', 'post', $status); 

这将正常工作,它会发布用户的墙的状态更新(例如应用程序用户通过共享应用-dev的链接。),而不必我指定的访问令牌。

我在看如何,从Facebook和它说,

如果您的应用发布了代表其用户,需要一个访问令牌 没有到期时间出版的目的,你 应使用应用程序访问令牌。

那么我需要指定一个访问令牌吗?如果是,我在哪里指定它们?谢谢。

+0

权限确实需要这个 - 所以只是在我猜测之前实现了某种登录? – CBroe 2013-05-04 23:59:38

+0

是的,当用户在登录时授权应用程序时,用户已授予权限。但是我仍然可以作为没有访问令牌的用户发布。 – Schmidtty 2013-05-05 01:36:32

+0

一旦您授予应用发布权限,该应用也可以使用其_app_访问令牌代表您发布到您的墙上,这是SDK无法找到其他令牌时自动设置的内容。 – CBroe 2013-05-05 02:06:46

回答

2

PHP SDK有一个setAccessToken() function。您可以使用它将令牌设置为您的应用程序访问令牌。

您可以轻松地通过您的应用程序ID和秘密相结合分离通过管道(|)字符,这样让你的应用程序令牌:

$fbConfig = array(
    'appId' => 1234567890abcdefg, 
    'secret' => 1234567890abcdefg, 
    'cookie' => true, 
) 
$facebook = new Facebook($fbConfig); 
$facebook->setAccessToken($fbConfig['appId'] .'|'. $fbConfig['secret']); 

现在,您就可以代表执行操作的应用。

+0

嗨Lix,我可以张贴在墙上。然而,我只是好奇,我怎么能没有访问令牌。感谢你的回答。 :) – Schmidtty 2013-05-05 01:37:53

相关问题