【问题标题】:Facebook Chat, Application, XMPP gives first test account during resource requestFacebook Chat、Application、XMPP 在资源请求期间提供第一个测试帐户
【发布时间】:2012-05-30 01:16:25
【问题描述】:

我为我的测试应用程序创建了两个 facebook 测试帐户。两个测试帐户都具有 xmpp_login 扩展权限。我正在使用 SleekXMPP python 库(使用第二个帐户)连接到 chat.facebook.com 服务器。在资源请求阶段(iq type="set" id="somethinghere" bind xmlns="urn:ietf:params:xml:ns:xmpp-bind" iq)我将获得第一个测试帐户的 JID 作为最终 JID作为来自服务器的响应,而我正在尝试使用第二个帐户 JID。

有没有办法在 iq stanza 请求阶段告诉聊天服务器,我正在为我的客户请求一些特定的测试帐户 jid(在 developers.facebook.com 聊天 API 示例中,选项 ['uid'] 是不用于任何事情)?我想为我的应用程序创建一些带有测试帐户的 python 客户端,这些客户端通过聊天与实际的浏览器用户进行通信。

非常感谢您的帮助, -米卡

【问题讨论】:

    标签: xmpp facebook-chat


    【解决方案1】:

    您是否使用X-FACEBOOK-PLATFORM 身份验证方法?即,使用:

    self.credentials['api_key'] = '... API_KEY ...'
    self.credentials['access_token'] = '... TOKEN ...' 
    

    如果是这样,Facebook 在绑定期间根据提供的访问令牌提供 JID;没有办法请求不同的,并且连接时提供的初始 JID 被忽略。您确定您的帐户使用了不同的令牌,并且您的第二个帐户使用的是正确的访问令牌吗?

    在您提到的 API 文档中,options['uid'] 只是指用户的 JID,格式为 the_username@chat.facebook.com

    如果您只是使用DIGEST-MD5 身份验证选项(即,未按上述方式设置凭据),则不清楚问题出在哪里。不要忘记,在这种情况下,您可以加入 sleek@conference.jabber.org 房间以帮助使用 Sleek 进行调试。

    -- 兰斯

    【讨论】:

    • 确实我正在使用 X-FACEBOOK-PLATFORM 身份验证。我需要验证我的身份验证令牌确实是正确的。非常感谢您的帮助。
    • 问题确实是错误的token。我现在所做的是 1) 作为应用程序 ID 进行身份验证 2) 列出的帐户 3) 作为测试用户 (graph.facebook.com/oauth/…) 登录并从 URL 锚点获取正确的用户令牌 4) 使用正确的令牌连接到 Facebook 聊天。
    猜你喜欢
    • 2012-10-27
    • 2014-09-22
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多