如何从FB页面插件中获取哪个用户喜欢页面

Posted

技术标签:

【中文标题】如何从FB页面插件中获取哪个用户喜欢页面【英文标题】:How to get which user has liked page from FB page plugin 【发布时间】:2019-01-24 10:16:58 【问题描述】:

我使用 Facebook 页面插件在我的网站上显示类似小部件 (https://developers.facebook.com/docs/plugins/page-plugin) 的页面。当我运行我的网站 FB 页面小部件时,它会通过点赞和分享按钮打开。当用户点击喜欢时,它会打开一个弹出窗口并提示用户输入 FB 登录,一旦用户输入并通过身份验证,小部件就会刷新,现在喜欢按钮是灰色的。我如何知道喜欢该页面的用户详细信息?我想保存这些详细信息,以便我可以检查用户是否已经喜欢该页面,如果是,他们可以直接使用该网站,如果没有,那么他们必须先喜欢该页面,然后再使用该网站。我的应用程序是基于 C# ASP.Net MVC 构建的。我还希望对 Facebook 的请求应该来自 C# 代码。如果我没有遵循正确的程序,请告诉我正确的程序。

FB页面之类的小部件代码是

<div class="fb-page" data-href="https://facebook.com/codeblends" data- data-hide-cover="false" data-show-facepile="false" data-hide-cta="true"
             data-show-posts="false"></div>

在 JS 中

 window.fbAsyncInit = function () 
    FB.init(
        appId: '@ReadConfig.FacebookAppID',
        cookie: true,
        xfbml: true,
        version: '@ReadConfig.FacebookAPIVersion'        
    );

FB.Event.subscribe('edge.create', finished_rendering);
(function (d, s, id) 

    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "https://connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));

【问题讨论】:

【参考方案1】:

检查用户是否喜欢主页的唯一方法是向用户授权user_likes 权限。您必须在获得该许可的情况下通过 Facebook 的审核流程,而 Facebook 绝对不会批准您的案例的使用,因为您试图实现的目标是不允许的。 多年来一直不允许像门控。

您必须阅读平台政策:https://developers.facebook.com/policy/

【讨论】:

@lunschn user_likes 权限是获取用户喜欢的所有页面。我不需要这个。我只想知道哪个用户使用 Facebook 的页面喜欢我的页面,例如小部件 (developers.facebook.com/docs/plugins/page-plugin)。有我可以实施的回调吗?或者周围有什么? 我知道,但这是不可能的,正如您在问题中所写的那样,您会将它用于无论如何不允许的事情。 @lunschn 出路是什么?如果不使用页面小部件,我该怎么做?用FB登录然后获得喜欢? 你没有。这是不可能的,也是不允许的。没有出路。

以上是关于如何从FB页面插件中获取哪个用户喜欢页面的主要内容,如果未能解决你的问题,请参考以下文章

获取 fb.me 网址

如何检查用户是不是已经喜欢 Facebook 页面?

如何在swift 3中使用FBSDK获取fb页面列表或其位置ID

如何使用 Facebook 的 API 检查用户是不是喜欢我的 Facebook 页面或 URL

如何从 FB 获取图片到网站

如何获取应用程序用户是不是喜欢新 Graph Api 版本 >= 2.0 的应用程序页面