Facebook访问令牌以在时间轴中发布消息

时间:2014-09-18 08:42:14

标签: facebook access-token facebook-timeline publish-actions

我正在尝试做这样的事情。让我们说用户在我们的网站上使用FB Connect进行注册,这样我就可以得到facebook的“uid”,我可以存储在DB中。现在我希望每次用户访问商店详细信息页面或商品详情页面时,我会将包含链接,照片,描述等的商店/商品图片发布到FB时间线。

这样的事情:

$post_id = $facebook->api('/me/feed/', 'post', array(
'message' => $products_name, // item name
'link' => 'http://www.blabla.com/item/myshoes', // item url
'picture'  => $fb_img_src, // item image
'caption' => $products_name, // item name for caption
'description' => $products_description // item description
));     
} catch (FacebookApiException $e) {
$user = null;
}

如果用户使用我们的FB应用登录FB,此过程可以正常工作。但正如我所说,如果他们甚至没有使用他们的脸书“uid”登录,我想发帖。

是否可以根据facebook“uid”验证该用户?

提前致谢!任何线索/帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我坚信,在未经他们同意甚至行动的情况下向用户的Facebook发布任何内容肯定会迅速鼓励他们永远离开您的网站。 不要这样做。

无论如何 - 回答你的问题:

是的,可以访问用户的Facebook和"做东西",尤其是当用户在Facebook和您的网站上登录时。您只需获取用户的访问令牌(read about it in the docs),并确保用户授予您的应用所有适当的permissions。还有可以脱机使用的访问令牌(用户甚至不在线),但我不打算在此讨论。

获取用户访问令牌的一种方法是将用户重定向到提供APP_ID的FB登录URL(如FB developers docs中所述)。然后,FB会将用户重定向到具有访问代码/访问令牌的Fb登录URL,这样您就可以执行类似发布到用户时间线的操作。

当然,根据用户为您的应用授予的权限,您可以采取的操作受到限制。 我必须提醒你 - 这是一块你正在踩踏的薄冰。