0

像小部件一样,评论小部件不能:请参阅更新 2


我继承了一个具有 Graph 1.0 实现的项目。用户可以使用 Facebook 登录,然后在网站上点赞和评论。

身份验证系统 (symfony/php) 直接与 Facebook 交互以识别用户,因此,如果用户不存在,则可以创建个人资料,如果存在,也可以登录到本地系统.

Like 和 Comment 小部件已更新为使用 2.0 语法:

window.fbAsyncInit = function() {
        FB.init({
            appId      : 'KEY_HERE',
            xfbml      : true,
            version    : 'v2.3'
        });
    };
</script>
<script>(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 = "//connect.facebook.net/es_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

这似乎工作正常。生成了小部件,并且使用我的个人 Facebook 帐户,我可以在此站点和 Facebook 上发布和喜欢并查看结果。

同时,对于身份验证,应用程序会生成一个如下所示的授权 url:

http://www.facebook.com/v2.3/dialog/oauth?client_id=API_KEY&redirect_uri=REDIRECT_URI&state=TOKEN&scope=SCOPE

范围包括以下内容:

'email', 'user_website', 'offline_access', 'status_update', 'publish_actions', 'publish_stream'

从该请求的回调处理程序中,我们检索用户 Facebook 个人资料并转发到自定义代码以登录或注册用户:

https://graph.facebook.com/v2.3/oauth/access_token?client_id=API_KEY&redirect_uri=REDIRECT_URI&client_secret=API_SECRET&code=CODE

只要我使用我的个人 FB 个人资料,这似乎也有效。我可以登录和评论和喜欢的东西。

当我使用我的 Open Graph 测试用户登录时,我无法点赞或评论。尝试发表评论时,我收到一个错误,在灯箱/对话框中简单地指出“糟糕”。从我的控制台,我收到以下错误:

for (;;);{"__ar":1,"error":1357010,"errorSummary":"Oops","errorDescription":"Something went wrong. We're working on getting it fixed as soon as we can.","payload":null,"bootloadable":{},"ixData":{},"lid":"0"}

以下似乎是错误代码的完整列表,但未列出 1357010:

[ http://fbdevwiki.com/wiki/Error_codes][1]

所以,根本的问题是,为什么我的 Open Graph 测试用户(配置为在 2.0 模式下运行应用程序)不能与小部件交互,而我的个人 FB 配置文件可以?我是否未能正确升级身份验证系统,导致 2.0 测试用户没有足够的权限?

[更新]

当我的应用程序登录用户时,FB 对话框中没有任何部分允许用户接受所请求的权限。无论我是使用个人帐户还是图形测试用户登录,我都可以赞一个页面,然后从结果对话框中评论 - 该对话框请求这样做的权限。

但是,从标准的 Comments 小部件中,我从来没有被要求授予发布权限 - 它只是失败并出现 error 1357010。打开/关闭“也在 Facebook 上发帖”没有任何区别。

我不是以 2.0 方式进行身份验证吗?

[更新 2]

看起来我的 Open Graph Test 用户可以点赞一个页面,然后,在确认后,用户可以在页面上评论来自 Like 小部件的结果对话框。

但是,从评论小部件中,评论不成功,我得到一般错误代码 1357010。

我需要做什么来授权我的 OG 测试用户(v2.3 用户)从标准评论小部件提交评论?

4

1 回答 1

0

目前尚不清楚您正在拨打什么电话,我相信通过“点赞和评论小部件”您正在谈论由 API 提供支持的自定义小部件,而不是官方 Facebook 插件。

所以问题是:测试用户不能按照文档与真实数据交互:

  • 每个应用最多可以创建 2000 个测试用户。
  • 测试用户只能与其他测试用户互动,而不能与 Facebook.com 上的真实用户互动。
  • 测试用户不能成为公共 Facebook 主页的粉丝或在其上创建内容,例如在主页的墙上书写。但是,测试用户可以查看页面上与创建它们的应用关联的任何应用选项卡并与之交互。
  • 即使消息是由测试用户创建的,测试用户也无法回复消息。
  • 测试帐户只能由相关应用的任何开发者访问和使用。
  • 测试用户在关联的应用程序上只有“测试员”权限。这意味着他们可以在公共模式或开发模式下使用应用程序,但不能编辑任何技术设置或访问该应用程序的见解。
  • 测试帐户无法转换为普通用户帐户。

如果您正在与真实数据进行交互,这可能不起作用。您可能可以通过创建一个新的测试用户并观察结果来测试它。

于 2015-04-24T11:47:57.270 回答