2

到目前为止,我一直在使用旧的聊天登录机制来登录 Facebook 聊天(带有“sig”参数的那个)。

现在对它的支持消失后,我更改了与新身份验证系统相对应的代码(即没有 sig 参数)。

我正在创建这种字符串,在挑战阶段之后将其作为“响应”标签发送。

api_key=<apikey>&call_id=<callid>&method=<method from challenge>&nonce=<nonce from challenge>&access_token=<access token>&v=1.0  

我得到以下信息: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

以下仅在 iOS 上发生。Android 工作正常(这告诉我的代码是正确的)。这些版本之间的区别在于,在 iOS 上我获得了加密的访问令牌,而在 Android 上我获得了旧的访问令牌。

即在Android 213458xx1425|1.BGgrgnfWrdpG_X18.3600.1213xxx135.2-1334679|dHcDbxGbeYxxxxx 在iOS AAAByQT1Vjdkxxxxxxxxxxx

另外,我尝试进入应用程序控制面板并禁用加密访问令牌选项,但它没有任何效果。
我正在使用 Titanium 的最后一个 SDK,1.7.4 (v2011-10-21 18:18:15)

任何人都可以让我了解这个问题吗?我看到其他有类似问题的人没有解决方案。 集成 Facebook 聊天

感谢您的提前,内塔内尔。

4

1 回答 1

0

您可能应该编辑原始问题以包含错误消息而不是将其添加为评论,但不幸的是,该错误描述性不够 - 这是您在身份验证流程中可能做错的大多数事情的错误两个想法:

  1. 检查您使用的访问令牌是否确实具有 xmpp 权限,并调用 `/me/permissions(可能使用https://developers.facebook.com/tools/explorer上的 Graph API Explorer

  2. 如果可能,请跟踪您调用的确切 URL,以确保正确填充所有必要的参数

于 2011-10-27T13:58:35.610 回答