【发布时间】:2011-11-20 06:35:50
【问题描述】:
我正在编写一个桌面应用程序,通过使用从本地文件运行 HTML \ javascript 的嵌入式浏览器与 facebook 交互。
我能够使用登录对话框来检索令牌(使用facebook documentation 中描述的用于桌面应用程序的方法),但我仍然无法调用基本的 SDK 功能,例如 FB.init( ) 和 FB.getLoginStatus()。
当执行FB.init()时:
FB.init({
appId: '120260327220',
status: true, // check login status
oauth: true // enable OAuth 2.0
});
我得到了 HTTP 响应(通过 HTTP 嗅探器):
<span>Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the Application configuration. It must match one of the Connect or Canvas URLs or domain must be the same as or a subdomain of one of the Application's base domains.</span>
而当执行FB.getLoginStatus():
FB.getLoginStatus(function (response) {
if (response.authResponse) {
alert("logged in and connected user, someone you know");
} else {
alert("no user session available, someone you dont know");
}
});
我一无所获!
该应用程序完全基于客户端,这意味着我没有服务器端,因此没有用于注册 facebook 应用程序的 URL。在 IE 上运行。
有谁知道我是否以及如何从本地 javascript 文件(用于桌面应用程序)使用 facebook javascript SDK?
编辑:将应用程序 URL 配置为 http://localhost 不是一个有效选项,因为最终此脚本应该能够在任何机器上运行,无论是否配置了 localhost。
谢谢。
【问题讨论】:
-
为什么
http://localhost不适合你?您必须将您的应用程序配置为接受http://localhost,一旦配置它就可以在每台PC上运行。 -
Max - 我不想在最终用户的 PC 上配置 localhost。我正在寻找替代方案。
标签: javascript facebook authentication oauth desktop