您尚未登录,请登录后重试。

29

我正在使用PhoneGap Facebook Connect插件(https://github.com/Wizcorp/phonegap-facebook-plugin)来进行应用程序内的Facebook身份验证。直到今天早上它还能正常工作。现在突然停止工作并为不同设备的iOS和Android给出以下错误:

对于Android:

您未登录。您未登录。请登录后重试。

对于iOS:

应用配置不允许给定的URL:一个或多个给定的URL不被应用的设置允许。要使用此URL,您必须在应用程序的设置中添加有效的本机平台

我正在config.xml中使用以下代码:

<gap:plugin name="com.phonegap.plugins.facebookconnect" version="0.9.0">    
     <param name="APP_ID" value="99885XXXXXXXXX" />
     <param name="APP_NAME" value="Test App" />
</gap:plugin>

Facebook 电话:

function fbLogin() {
        facebookConnectPlugin.login(
        ["public_profile", "email"],
        function (response) {
            var OAuthToken = response.authResponse.accessToken;
            var OAuthAccessToken = response.authResponse.userID;
            if (response.authResponse) {
                facebookConnectPlugin.api('/me', null,
                    function (me_response) {
                        alert("Success: " + me_response);
                        facebookConnectPlugin.logout(function (response) {}, function (response) {});                            
                    });
            }                
        },
        function (response) {                
            alert("Error: " + me_response);
        }
    );
}

不知道这里的问题是什么。


1
如果iOS和Android突然出现了问题,并且之前一直正常工作,那么这听起来像是您的Facebook应用程序的开发人员设置发生了变化。我建议您检查位于developers.facebook.com上的页面,确保一切都正确。 - Cruceo
6个回答

64

最近几天我也遇到了完全相同的问题。我通过在应用程序设置中生成相应平台的方式解决了它。请注意,之前我只有通用设置,并且可以工作,但最近可能有所改变。

  1. 进入Facebook开发者页面的“我的应用程序”然后点击“设置”
  2. 在“基础设置”下确保您有对应的平台。如果有并且仍然无法工作,则删除并重新创建该平台。否则,单击[+添加平台]并按照说明操作。 例如,对于Android,您需要提供: a)您的包ID b)您的启动器活动全名 c)密钥哈希 - 您需要按照使用keytool和openssl的说明生成

祝你好运!


谢谢你的回答。现在它可以工作了,但是还有一个问题。我使用了我的旧Facebook应用程序(这是一款卡牌游戏应用程序和应用程序v2.0),使用此应用程序,我能够获取“public_profile”数据,但是使用新创建的应用程序(这是一款时尚应用程序和应用程序v2.4),无法使用相同的代码获取所有个人资料数据。在v2.4中是否有任何新内容或需要提交应用程序以允许权限? - immayankmodi
很难在没有具体细节的情况下回答,但我怀疑你并不需要完整的提交。如果我理解正确,您仍然需要在图形API调用中提供您的权限,但在上面的代码中第二个参数是空的。相反,它应该看起来像这样: facebookConnectPlugin.api('/me', ['public_profile', 'user_birthday'], function(me_response){... - Aram
非 Web API 端点似乎只允许在初始授权时获取基本信息。只有在用户给出初始基本授权后,您才能获得详细数据。不幸的是,似乎没有绕过此限制的方法。 - Bon
2
我按照答案中提到的所有步骤都做了,但仍然出现“未登录”的错误... - Ruben
2
对我有用。在我的情况下,我忘记为我的应用程序添加平台。只需添加包名称和完整的启动器活动即可。密钥哈希不是必需的。 - ramires.cabral
显示剩余2条评论

2

在我的情况下,我还没有将应用程序公开。 前往应用程序审核部分,并将"使您的应用程序公开?"更改为是。 尝试一下,这对我有用。


2

1
请注意,Facebook不再允许“http”用于有效的OAuth重定向URI。 - OmNiOwNeR

1
所有的研究工作都引导我来到这个帖子。在我的情况下,起作用的是添加以下内容:
https://www.facebook.com/connect/login_success.html

将其添加到Facebook登录设置中的有效OAuth重定向URI中。


0

我找到了解决方案,请在Facebook应用程序上交叉检查您的域名。我的域名已更改,因此它无法正常工作,一旦我更正它就可以正常工作了。


0

应用程序和Facebook应用程序中的重定向URL应该相等


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接