【问题标题】:Trouble implementing Facebook page tab competition难以实施 Facebook 页面标签竞赛
【发布时间】:2012-03-14 08:54:06
【问题描述】:

我正在开发一个用于举办比赛的 Facebook 页面标签。

首先是扇门,我已经通过 Facebook php sdk 和签名请求轻松实现了这一点。

当用户通过扇门时,即喜欢该页面。有一个带有条目详细信息的表格。

现在我只能允许某人参加一次比赛。

所以我尝试获取用户 ID,但根据 Facebook 帐户,我要么取回 ID,要么获取用户 ID =0。

有什么方法可以让我获得一个独特的价值,这样我就可以存储用户已经进入比赛而无需允许访问。

【问题讨论】:

    标签: php facebook facebook-php-sdk facebook-page


    【解决方案1】:

    仅当用户授予应用程序权限时,才会在签名请求中给出用户 ID。

    【讨论】:

    • 那么我该如何进行这样的比赛呢?因此,如果用户要重新访问该页面,它将显示感谢您参加比赛
    • 可靠的方法是通过ouath请求基本权限,即如果signed_request中的user_id为空,将用户重定向到https://www.facebook.com/dialog/oauth? client_id=YOUR_APP_ID&redirect_uri=YOUR_URL,一旦他们给你基本权限,将他们重定向回你的应用程序, 然后你就可以访问他们的 user_id 并且你可以从那里获取它。 FB oauth - developers.facebook.com/docs/authentication
    • ...当然,请求权限不可避免地会丢失一些条目;更好的方法是要求用户以简单的形式输入他们的姓名和电子邮件,而不必担心重复条目 - 这是条目数之间的权衡,由客户决定他们喜欢哪种方式
    • 我也可以通过电子邮件完成,所以至少我可以通知他们他们在竞争中,我不想请求权限。
    • 我记得之前有一种方法可以通过 FB javascript SDK 登录用户(类似于通过 ajax 的“需要登录”),它只需要用户操作,例如单击,您可以通过 FB.getSession 之类的方式获取用户数据,但我认为自从迁移到 oauth 后不再可用;无论如何,我相信基于电子邮件地址的解决方案更好,这样您甚至可以为 facebook 以外的用户使用它
    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2010-11-25
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多