问题标签 [x-facebook-platform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 有什么方法可以从 Facebook iOS SDK 返回的访问令牌中提取会话密钥?
我需要在这个场景中使用 Facebook 会话密钥:http: //developers.facebook.com/docs/chat/#platauth
但是,当前的Facebook iOS SDK向我们返回了一个访问令牌,这对于这种情况是不够的。我挖了很多,在这里发现了这个问题:
http://www.quora.com/Do-the-OAuth2-access-tokens-in-the-new-Facebook-Graph-API-expire
但它描述的格式与我们得到的访问令牌没有相似之处。
我对这些事情有点困惑。
顺便说一句,我检查了一个针对旧版 Facebook SDK的旧版 iPhone进行测试,因为这个旧版 SDK 直接提供会话密钥,但是这个 SDK 现在在成功登录后总是显示来自 Facebook 的错误页面。似乎此 SDK 已完全弃用?
为了明确这个问题,这是我从Facebook iOS SDK获得的访问令牌(嵌入在 URL 中) :
c# - 集成 Facebook 聊天
我编写了一个程序来在 C# 中集成 Facebook 用户聊天,但是我总是<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
在将响应发送到服务器后得到。
我检查了 API 密钥和应用程序密钥,它们都是正确的。看起来我向服务器传递了一些错误的参数。
这是我的代码。
我已经参考了这篇文章Facebook Chat Authentication in C# and X-FACEBOOK-PLATFORM并且我的应用程序类型是 Native/Desktop。
有人能指出我正确的方向吗?
编辑: 我认为问题出在创建签名时,有没有办法验证创建的签名?
编辑 1:根据这个SO answer,访问令牌包含第一个 | 之后的会话密钥。字符,我可以找到 | 直到 2 天前的字符,但现在我找不到 | 访问令牌中的字符,真的很奇怪,那么我现在如何找到会话密钥?(或者我现在应该去睡觉了。)
编辑2:奇怪的是我总是<appId>|<sessionKey>|<digest>
以原生/桌面应用程序的形式获得访问令牌。我做了进一步的搜索,发现会话密钥需要从auth.promoteSessionHttpUtility.UrlEncode
legacy api中提取并使用而不是编码参数HttpUtility.HtmlEncode
。
现在我已经硬编码了访问令牌(在Access Token Debugger中验证了它)、会话密钥、应用程序密钥和应用程序密钥我仍然得到同样的错误<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
编辑3:我已经敲了一个多星期,但仍然没有用,但今天我在文档中发现了一个更新,说Note that this needs to be over TLS (Transport Layer Security) or you'll get an error.
我想我需要相应地修改我的代码。
编辑 4:我已经尝试了文档中的代码,发现值$SESSION_XML
应该是
完成转换后,我将发布 C# 代码。
facebook - X-FACEBOOK-PLATFORM 使用不同应用程序不一致
我已经成功实现了一个支持 X-FACEBOOK-PLATFORM 身份验证的 XMPP 客户端,并且目前可以连接任何用户进行聊天。
之后,我需要创建一个具有聊天访问权限的不同应用程序,并通过将 App ID 和 App Secret 更改为新应用程序的代码来重用代码。令我惊讶的是,一些可以使用我的旧应用程序成功登录的用户无法使用新应用程序登录!(奇怪的)。
我已经检查了两个应用程序配置,并且都相同,唯一的区别是“强制为 OAuth 调用和 auth.login 使用登录密码”在新应用程序中不可用,而在新应用程序中设置为“禁用”旧的。这两个应用程序都是使用同一个 Facebook 帐户创建的。
谁能解释这个选项的去向以及它是否是聊天工作的关键?此外,还有什么想法可能是错的?
谢谢!
xmpp - 使用 OAuth 2.0 使用 SMACK Java 库进行 X-FACEBOOK-PLATFORM 身份验证
第一次在这里发帖,所以请温柔。我正在使用 Smack 库构建一个 facebook 聊天客户端。我使用 X-FACEBOOK-PLATFORM 方法是为了不保存任何密码。我使用 oauth 1.0 让它正常工作,并想将其更改为 2.0,原因是 10 月 1 日截止日期;p。据我了解,为了迁移到 2.0,我唯一要做的就是删除“sig”和“session_key”参数并添加“access_token”参数,但我得到的是“SASL 身份验证 X-FACEBOOK-平台失败:未授权:”。我正在使用这个自定义 SASLMechanism 类:
这是主要代码:
提前感谢您的任何建议。
facebook - Facebook 的社交评论插件:用户墙贴不是页面的图像
我的网站有一个用于评论的 facebook 社交插件。当用户发表评论时,他们可以选择在自己的墙上发表评论。该墙贴附带的图像不是评论插件所在网站的图像。该图像是从哪里提取的?
下面是应用程序页面中的 html。
提前致谢。
facebook-javascript-sdk - 用于 Facebook 聊天的 X-FACEBOOK-PLATFORM - 自 10 月 1 日起无法连接
通过 OAuth 2.0 和加密访问令牌更改,我无法再连接到 FB 聊天。FB 聊天文档上的示例显示了服务器端的 PHP,但是我需要通过从 JavaScript sdk 获取 access_token 来连接。
我从挑战响应中取出了 sig 和 session_key 参数,并添加了 access_token 的参数,将其设置为我从 JavaScript sdk 获得的 access_token。我认为 access_token 是正确的,因为在 10 月 1 日之前它有管道,现在它在没有管道符号的情况下被加密。还要查看我的安全设置,当我最初授予权限时,xmpp_login 权限正在正确设置。
无论我尝试什么,我的连接尝试都会失败。
有没有人有访问令牌来自浏览器中的 JavaScript sdk 而不是来自服务器端的工作代码?
facebook - FB Chat API - 使用 Strophe 对 X-FACEBOOK-PLATFORM 进行身份验证
我正在尝试使用 X-FACEBOOK-PLATFORM 身份验证技术连接到 FB Chat。我目前正在使用 Strophe 库。
其他一切都已完成并且正在工作,我把这一点留到最后(我知道这会很困难)。
但是 Strophe 仅提供对 MD5 的支持,我不能将其用作 JS 客户端。因此,我需要找到一种方法来进行特殊的 Strophe 连接。
我在以下位置看到过 Strophe 插件;
但是,自从 OAuth 2.0 强制执行以来,这不起作用。如果我绝对必须手动进行连接,我有信心但是我希望有人已经解决了这个问题。
至少有人可以告诉我如何手动进行连接(如在 Strophe 函数中绕过 .connect(); 并自己做)。
谢谢安德鲁
save - 我可以存储我的应用程序用户的朋友的 id 列表吗?
我可以存储这些数据吗?我只想保存应用程序用户的朋友的 ID。
facebook - Facebook 应用程序无法正常工作
我在 html 文件中有以下代码:
我正在使用此代码为我的应用发送应用请求(参考:http: //developers.facebook.com/blog/post/464/)
问题:我可以通过上面的代码加载请求对话,它显示了我的朋友列表。我也可以发送邀请。假设我将邀请发送给朋友“X”(假设“X”尚未使用我的应用程序)。然后在 X 的 FB 帐户中,apprequest 书签计数增加 1。但是当 X 试图查看应用邀请时,他实际上看不到我的应用收到的任何应用邀请。我已经对至少 5 个用户进行了尝试,在我向他们发送邀请后,所有人的 apprequest book 都增加了 1,但是当他们看到邀请时,实际上没有邀请。
谁能建议我这是什么问题?
注意:我的应用程序是网站(而不是画布应用程序),我还在我的服务器上托管了上面的演示代码http://www.gmarjil.com/a.html
policy - “负面反馈警告”通知
我收到了来自 Facebook 的“负面反馈警告”通知
“我们的系统已将您的应用标记为收到大量负面用户反馈。因此,我们可能会被迫对您的应用设置临时限制,以保护平台上的用户体验。我们要求您及时解决此问题在发送此通知后的 48 小时内,我们的自动化系统将再次评估您的应用程序。请注意,我们保留在此 48 小时期限结束之前对您的应用程序采取行动的权利。具体而言,用户的反应是负面的使用您的应用程序从他们的朋友那里流式传输故事。”
我无法在应用页面或 Insights 中查看负面用户反馈。如何查看用户反馈以了解问题并解决问题。