获取用户权限并从桌面应用发布到墙上?

时间:2012-09-28 19:09:34

标签: php barcode offline facebook-wall rfid

我正在尝试构建一个用户可以使用的Facebook应用程序:

1-通过浏览器登录FB 2-接受应用程序的权限(offline_access *,publish_stream等)

然后我们将生成条形码/ rfid卡,其中主要代码是他/她的用户名/ ID。当用户将他的卡放在阅读器下时,“系统”应该发布一些内容并将内容发布到他的墙/时间线上

所以:

我想我必须开发一个单独的桌面应用程序,它接收来自阅读器的代码,然后使用我的应用程序URL和一些app_data启动浏览器?

通过使用某些令牌或类似功能(以前知道用户接受的权限),有没有办法可以在卡片通过阅读器后自动“登录”我的FB应用程序?

我正在投掷想法,希望有人可以分享其他人,所以我可以在脑海中清除这一点

感谢

3 个答案:

答案 0 :(得分:1)

使用扩展访问令牌(长期访问令牌)

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

//Store or update this in your database when user accesses your application
$extended_access_token = $facebook->getExtendedAccessToken();

扩展访问令牌有效期为60天。

答案 1 :(得分:0)

您需要在步骤1中获取并存储访问令牌。使用此令牌,您可以代表用户发布。如何获取令牌在Facebook帮助页面上有详细描述。显然没有offline_access。您需要一个期限较长的令牌https://developers.facebook.com/roadmap/offline-access-removal/

最后更糟糕的一点。您想代表用户发帖。如果您打算发布FIX内容,我必须提醒您 - Facebook会禁止您。它们不允许为用户制作内容。它被认为是垃圾邮件。你可以做的是发布一个开放的图表动作。

答案 2 :(得分:0)

我的Php技能不太好。但它认为你可以使用HTTP post发布使用这个脚本。

$url = 'https://graph.facebook.com/USER_ID/feed?access_token=APP_ACCESS_TOKEN&message=YOUR_MESSAGE';
$ch = curl_init($url);

$response = curl_exec($ch);
curl_close($ch);

此响应包含一个保存post_id的JSON对象。