0

我正在尝试做这样的事情。假设一个用户使用 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,此过程可以正常工作。但正如我所说,如果他们甚至没有使用他们的 Facebook“uid”登录,我想发布。

是否可以根据 facebook“uid”对该用户进行身份验证?

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

4

1 回答 1

0

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

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

是的,可以访问用户的 Facebook 并“做事”,尤其是当用户同时登录 Facebook 和您的网站时。您只需要获取用户的访问令牌(在文档中阅读有关它的内容),并确保用户授予您的应用程序所有适当的权限。还有可以离线使用的访问令牌(用户甚至不在线),但我不打算在这里讨论。

获取用户访问令牌的一种方法是将用户重定向到提供您的 FB 登录 url APP_ID(如FB 开发人员文档中所述)。然后,FB 将使用访问代码/访问令牌将用户重定向到您的 Facebook 登录 URL,这使您能够执行诸如发布到用户时间线之类的操作。

当然,您可以执行的操作会根据用户为您的应用授予的权限而受到限制。我必须提醒你——你踩到的只是一块薄冰。

于 2014-09-18T10:39:19.770 回答