【问题标题】:Do you need an access token to post on app user's wall as themself?您是否需要访问令牌才能以自己的身份发布在应用用户的墙上?
【发布时间】:2013-05-05 07:37:17
【问题描述】:

您好,我正在尝试弄清楚如何从我的应用程序中以他们自己的身份在应用程序用户的墙上发帖。我正在使用 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);

这会很好,它会在用户的墙上发布状态更新(例如,应用用户通过 app-dev 共享了一个链接。)而无需我指定访问令牌。

我正在阅读 Facebook 的操作指南,上面写着

如果您的应用代表其用户发布并需要访问权限 出于发布目的没有过期时间的令牌,您 应该使用应用访问令牌。

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

【问题讨论】:

  • 权限是绝对需要的——所以我猜之前已经实现了某种登录?
  • 是的,用户在登录时授权应用程序时,用户已授予权限。但我仍然可以在没有访问令牌的情况下以用户身份发布。
  • 一旦您授予应用发布权限,该应用也可以使用其 app 访问令牌代表您发布到您的墙上,这就是 SDK 设置的内容如果找不到另一个令牌,则自动执行。

标签: facebook facebook-graph-api facebook-php-sdk


【解决方案1】:

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

您可以通过将应用程序 id 和由管道 (|) 字符分隔的密码组合起来轻松获取应用程序令牌,如下所示:

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

您现在可以代表您的应用程序执行操作。

【讨论】:

  • 嗨 Lix,我可以在墙上发帖。但是,我只是好奇如何在没有访问令牌的情况下做到这一点。感谢你的回答。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-02
  • 2013-10-09
  • 2021-08-26
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多