SERVER_ERROR:[code] 1675030 [message]:执行查询时出错

Dan*_*TIZ 48 java android facebook facebook-login

我在android中使用Facebook登录.
码:

callbackManager = CallbackManager.Factory.create();
    LoginButton loginButton = (LoginButton) this.findViewById(R.id.login_button);
    loginButton.setReadPermissions("email", "public_profile");
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            // App code
            Log.println(Log.ASSERT, "FB", "inicio session ");
        }

        @Override
        public void onCancel() {
            Log.println(Log.ASSERT, "FB", "OP NO completada");
            // App code
        }

        @Override
        public void onError(FacebookException exception) {
            Log.println(Log.ASSERT, "FB", " Errro de sesion ");
            exception.printStackTrace();
            // App code
        }
    });
Run Code Online (Sandbox Code Playgroud)

但总是收到以下错误:

SERVER_ERROR:[code] 1675030 [message]:执行查询时出错.[extra]:执行操作"ProxyAuthAppLoginQuery"时出错:在Query.proxy_auth_app_login:无法解析字段.W/System.err:
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:190)W/System.err:at com.facebook.login.LoginManager $ 1.onActivityResult(LoginManager.java:159)W/System .err:at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:82)W/System.err:at com.procibernetica.moca.MainActivity.onActivityResult(MainActivity.java:130)W/System.err:at android.app.Activity.dispatchActivityResult(Activity.java:5423)W/System.err:at android.app.ActivityThread.deliverResults(ActivityThread.java:3401)W/System.err:at android.app.ActivityThread.handleSendResult( ActivityThread.java:3448)W/System.err:at android.app.ActivityThread.access $ 1300(ActivityThread.java:138)W/System.err:at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1284 )W/System.err:在android.os.Handler.dispatchMessage(Handler.java:102)W/System.err:
在android.os.Looper.loop(Looper.java:149)W/System.err:at android.app.ActivityThread.main(ActivityThread.java:5061)W/System.err:at java.lang.reflect.Method.invokeNative(Native Method)W/System.err:at java.lang.reflect.Method.invoke(Method.java:515)W/System.err:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:787)W/System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)W/System.err :at dalvik.system.NativeStart.main(Native Method)

我添加了以下权限.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)

Dan*_*TIZ 52

我找到了解决方案,当您在应用中没有评估用户时,会附加此解决方案.

在面板中输入App Select Rol

在此输入图像描述

并添加测试用户,当您尝试使用测试用户登录时,应用程序可以正常执行

在此输入图像描述

  • 值得注意的是,需要这样做的原因是因为您的应用处于"开发模式"(请参阅​​"App Review"面板上的设置).开发模式应用程序被视为私有,只能由特定授权用户使用.将应用程序公开删除此限制,因此可以替代列出您想要访问的用户. (4认同)
  • 另一个解决方案是将app设置为public,遵循@AMAN SINGH的响应,并刷新令牌 (2认同)

alo*_*oha 28

Facebook上的文档不正确.我必须添加所有3个默认权限才能使其正常工作.

loginButton.setReadPermissions("email", "public_profile", "user_friends");
Run Code Online (Sandbox Code Playgroud)


AMA*_*NGH 20

@Danial回答正确,但我想补充一些.这种类型的错误仅在应用程序正在开发中时出现.点击此链接并选择您的应用程序.那你可以在这做两件事.在" 角色"选项卡中,您可以仅允许登录您的朋友,或者选择" 应用评论",app public然后让任何人都可以登录.


Cac*_*ide 15

我得到了类似的问题,因为Firebase UI正在指定android:value.这就是我解决它的方式:

    <application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.Base">

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        tools:replace="android:value"
        android:value="@string/facebook_app_id" />
<acitivity
...
</activity>
...
Run Code Online (Sandbox Code Playgroud)

  • 这就是为我解决这个问题的原因.它似乎缺乏文档. (2认同)

Muh*_*raf 12

问题日志:SERVER_ERROR:[代码] 1675030 [消息]:执行查询时出错

精确解的这一具体问题(错误执行查询
的回答@aloha是通过更新查询访问。
loginButton.setReadPermissions("email", "public_profile", "user_friends");

  1. 查找您调用 facebook 登录按钮的位置。
  2. 然后将按钮的 ReadPermission 设置为“email”、“public_profile”、“user_friends”

图片参考

在此处输入图片说明

问题日志:应用程序未设置。此应用程序仍处于开发模式。而您无权访问它。注册测试用户或向应用管理员请求许可

  1. 该应用程序未处于实时模式
  2. 您未在https://developers.facebook.com/app/yourapp 中列为管理员或测试员
  3. 您的应用程序哈希键未设置。如果 Facebook 应用程序无法处于实时模式,您需要一个哈希键来测试它。因为该应用程序尚未上线。Facebook 不允许访问。

如何更改直播模式
1. 前往:https : //developers.facebook.com
2. 在“我的应用”列表中选择您的应用
3. 将开关从 OFF 切换到 ON

在此处输入图片说明在此处输入图片说明

如何添加为测试或管理员
1. 转到:https : //developers.facebook.com
2. 在“我的应用程序”列表中选择您的应用程序
3. 转到:角色 > 角色 > 按添加例如管理员在此处输入图片说明 4. 搜索您的新管理员/测试员 Facebook 帐户。
在此处输入图片说明 5. 管理员必须输入facebook密码以确认。然后提交 在此处输入图片说明
新管理员必须转到 developer.facebook 页面并接受请求
6. 转到:https : //developers.facebook.com

7. 个人资料 > 请求 > 确认
在此处输入图片说明 项目清单 8.恭喜您被任命为新管理员

如何获取和设置HASHKEY促进发展
作为参考Facebook的登录文件
https://developers.facebook.com/docs/android/getting-started/#create_hash
由我来说,最可取的解决方案是通过代码(故障排除示例应用程序),
它会打印出哈希键。您可以 在Android > Key Hashes部分的
https://developers.facebook.com/apps/yourFacebookappID/settings/basic/
上更新它

关于如何获取 hashKey 的分步过程。

  1. 首先将代码添加到任何 oncreate 方法

    在此处输入图片说明

  2. 运行应用程序并在 Logcat 中搜索 KeyHash

    在此处输入图片说明

关于如何在 Facebook 开发者上更新的分步过程。

  1. 打开 Facebook 开发者页面。您需要访问以更新 Facebook 开发者页面:https : //developers.facebook.com

  2. 按照以下步骤操作。

    在此处输入图片说明


Ahm*_*egy 10

所有上述答案都没有帮助我,使用此命令时的作用

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)

获取你在facebook配置中放入的Key Hashes.

它会要求你输入密码,起初我没有设置任何密码,所以当我输入android密码时问题就发生了.有效 !


小智 5

实时开发人员模式 请检查开发人员模式的状态。它必须是“ Live”。首先,您需要为自己的Facebook项目添加隐私URL,该URL要测试Facebook登录或其他...。然后启用开发人员模式(打开)


Mom*_*out 5

我只是通过访问https://developers.facebook.com/apps/ 并选择我的应用程序来修复它

switch to live mode

“从左上角应用程序 ID 旁边”