我正在尝试构建一个用户可以使用的Facebook应用程序:
1-通过浏览器登录FB 2-接受应用程序的权限(offline_access *,publish_stream等)
然后我们将生成条形码/ rfid卡,其中主要代码是他/她的用户名/ ID。当用户将他的卡放在阅读器下时,“系统”应该发布一些内容并将内容发布到他的墙/时间线上
所以:
我想我必须开发一个单独的桌面应用程序,它接收来自阅读器的代码,然后使用我的应用程序URL和一些app_data启动浏览器?
通过使用某些令牌或类似功能(以前知道用户接受的权限),有没有办法可以在卡片通过阅读器后自动“登录”我的FB应用程序?
我正在投掷想法,希望有人可以分享其他人,所以我可以在脑海中清除这一点
感谢
答案 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对象。