SERVER_ERROR:[代码] 1675030 [消息]:执行查询时出错
Posted
技术标签:
【中文标题】SERVER_ERROR:[代码] 1675030 [消息]:执行查询时出错【英文标题】:SERVER_ERROR: [code] 1675030 [message]: Error performing query 【发布时间】:2017-06-11 05:19:44 【问题描述】:我在 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
);
但总是出现以下错误:
。 [额外]:执行操作“ProxyAuthAppLoginQuery”时出错:在 Query.proxy_auth_app_login:解析字段失败。 W/System.err: 在 com.facebook.login.LoginManager.onActivityResult(LoginManager.java:190) W / System.err:在 com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:159) W / System.err:在 com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:82) W / System.err:在 com.procibernetica.moca.MainActivity.onActivityResult(MainActivity.java:130) W / System.err:在 android.app.Activity.dispatchActivityResult(Activity.java:5423) W / System.err:在 android.app.ActivityThread.deliverResults(ActivityThread.java:3401) W / System.err:在 android.app.ActivityThread.handleSendResult(ActivityThread.java:3448) W / System.err:在 android.app.ActivityThread.access$1300(ActivityThread.java:138) W / System.err:在 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: 在 android.app.ActivityThread.main(ActivityThread.java:5061) W/System.err:在 java.lang.reflect.Method.invokeNative(Native 方法)W / System.err:在 java.lang.reflect.Method.invoke(Method.java:515) W/System.err: 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) W / System.err:在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603) W/System.err:在 dalvik.system.NativeStart.main(Native Method)
我已添加以下权限。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
【问题讨论】:
我有同样的问题,如果您找到任何解决方案,请自行回答您的问题。 我也有同样的问题。看来问题出在Facebook本身.. 尝试重新检查您的 Facebook APP ID 这些解决方案都没有解决我的问题:( 正如登录时底部的评论所说,您应该添加基本应用权限“email”、“public_profile”、“user_friends” 【参考方案1】:对于 Flutter,这是解决方法
final LoginResult result = await FacebookAuth.instance.login(
permissions: [
'public_profile',
'email',
'pages_show_list',
'pages_messaging',
'pages_manage_metadata'
],
);
【讨论】:
【参考方案2】:我找到了解决方案,当您的应用中没有评估用户时会发生这种情况。
在您的面板应用中输入 选择角色
并添加测试用户,当您尝试使用测试用户登录时,应用程序执行不会失败
【讨论】:
值得注意的是,需要这样做的原因是因为您的应用处于“开发模式”(请参阅“应用审查”面板上的设置)。开发模式应用程序被认为是私有的,只能由特别授权的用户使用。将应用程序公开会消除此限制,因此可以替代列出您想要访问的用户。 这在我的情况下不起作用,但得到相同的异常。你能帮忙吗?我添加了测试人员,现在使用测试人员帐户登录。还是一样的异常 另一种解决方案是将app设置为public,按照@AMAN SINGH的回复,刷新token 我已经发布了我的应用程序,但我看到了同样的错误。我还仔细检查以确保我的 App ID 正确 @Gabriel 您是否设法解决了这个问题?我提出了同样的问题。我已经发布了我们的应用程序,但仍然会发生这种情况。【参考方案3】:您需要查看在手机facebook应用中连接的用户是否是在应用页面的facebook开发者中拥有测试或开发者权限的用户。
【讨论】:
【参考方案4】:试试这个,在 android build 文件夹中找到你的 app-debug.apk
keytool -printcert -jarfile app-debug.apk | openssl sha1 -binary | openssl base64
将其粘贴到 facebook 密钥哈希中。
【讨论】:
【参考方案5】:我刚刚通过 https://developers.facebook.com/apps/ 修复了它 然后选择我的应用
switch to live mode
"从左上角到应用 ID"
【讨论】:
我的应用无法切换,它显示消息为“您可能无法让所有用户都可以使用您的应用”【参考方案6】:我不知道这是否会有所帮助,但根据个人经验,当您生成开发密钥时,您需要输入“android”密码,并确保在字段中添加代码时在代码后添加 =在开发者 facebook 域上
【讨论】:
【参考方案7】:我遇到了类似的问题,因为 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>
...
【讨论】:
这就是为我解决这个问题的原因。文档中似乎缺少它。 这是对具有 FirebaseUI 依赖项的应用的修复。尝试编译应用程序时,将显示一条错误消息,提示此解决方案。 请问“tools:replace”从何而来?【参考方案8】:我刚刚添加了这一行,它对我有用。
facebookLogin.setReadPermissions("email", "public_profile", "user_friends");
【讨论】:
我是否需要启用以上所有权限 facebook 开发者帐户?还是自动启用? 在我的帐户中,它只有 public_profile 和 email 作为它的权限。但如果我使用它,它会显示未支持的请求。你确定,我需要确定所有上述三个权限吗? 您可以尝试在开发者帐户上启用上述所有权限,可能对您有用。 如果我不启用以上三个并且只添加两个权限是否有效? 我得到了一些错误的用户界面【参考方案9】:问题日志:SERVER_ERROR:[code] 1675030 [message]:执行查询时出错
以及针对此特定问题的准确解决方案(执行查询时出错) @aloha 的回答是更新访问查询。 loginButton.setReadPermissions("email", "public_profile", "user_friends");
-
查找调用 facebook 登录按钮的位置。
然后将按钮的 ReadPermission 设置为 "email"、"public_profile"、"user_friends"
图片参考
问题日志:应用程序未设置。此应用程序仍处于开发模式。而且您无权访问它。注册测试用户或向应用管理员申请权限
-
应用未处于实时模式
您未在 https://developers.facebook.com/app/yourapp 中列为管理员或测试人员
您的应用程序哈希键未设置。如果 Facebook 应用程序无法处于实时模式,您需要一个 hashkey 来测试它。因为该应用程序尚未上线。 Facebook 不允许访问。
如何切换到直播模式 1. 转至:https://developers.facebook.com 2. 在“我的应用程序”列表中选择您的应用程序 3.将开关从OFF切换到ON
如何添加为测试或管理员 1. 转至:https://developers.facebook.com 2. 在“我的应用程序”列表中选择您的应用程序 3. 转到:角色 > 角色 > 按添加,例如管理员 4. 搜索您的新管理员/测试员 Facebook 帐户。 5. admin必须输入facebook密码确认。然后提交 新管理员必须前往 developer.facebook 页面并接受请求 6. 转至:https://developers.facebook.com 7. 个人资料 > 请求 > 确认 8. 恭喜您已被指定为新管理员
如何获取和设置 HASHKEY 用于开发 参考 Facebook 登录文档https://developers.facebook.com/docs/android/getting-started/#create_hash 我最喜欢的解决方案是通过代码(Troubleshooting Sample Apps) 它将打印出哈希键。你可以更新它 https://developers.facebook.com/apps/yourFacebookappID/settings/basic/ 在 Android > Key Hashes 部分
如何获取 hashKey 的分步过程。
首先将代码添加到任何 oncreate 方法中
运行应用程序并在 Logcat 中搜索 KeyHash
如何在 Facebook 开发者上更新的分步过程。
打开 Facebook 开发者页面。您需要访问以更新 Facebook 开发者页面:https://developers.facebook.com
按照以下步骤操作。
【讨论】:
那么这三个权限也需要在Facebook开发者账户的应用审核中启用?我对么? 1. 我的应用程序加载并显示执行查询的错误。添加电子邮件和 user_friends,public_profile 后,它会在 UI 中显示应用程序未设置错误。重新申诉后会解决这个问题吗?【参考方案10】:在我的情况下,问题是生成的密钥哈希错误,需要在 Facebook 应用页面上提交 在这篇文章中找到的解决方案https://developers.facebook.com/docs/facebook-login/android/advanced
手动检查密钥散列 - 您可以打印发送到 Facebook 的密钥散列并在 App Dashboard 中使用该值。在您的主要活动中对 onCreate() 进行此更改:
try
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.loginhowto",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures)
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
catch (NameNotFoundException e)
catch (NoSuchAlgorithmException e)
【讨论】:
【参考方案11】:在我的情况下,生成的哈希密钥是错误的,因为我使用了错误的 OpenSSL。 我使用的是 openssl-0.9.8k_X64.zip 而不是 openssl-0.9.8e_X64.zip,这为我生成了一个错误的哈希键,导致了这个问题,希望它可以帮助我失去了 8 个小时试图解决这个问题的人。
【讨论】:
【参考方案12】:Live developer mode 请检查开发者模式的状态。它必须是“活的”。 首先,您需要为自己的 facebook 项目添加隐私 url,您想要测试 facebook 登录或...然后启用开发者模式(打开)
【讨论】:
【参考方案13】:以上所有答案都没有帮助我,当你使用这个命令时做了什么
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
获取您在 facebook 配置中放入的密钥哈希。
它会要求你输入密码,一开始我没有设置任何密码,所以当我输入android
作为密码时,问题就发生了。成功了!
【讨论】:
这为我解决了!我已经从 strings.xml 更改了应用程序 ID,并做了许多其他建议的答案。非常感谢。【参考方案14】:facebook 上的文档不正确。我必须添加所有 3 个默认权限才能使其正常工作。
loginButton.setReadPermissions("email", "public_profile", "user_friends");
【讨论】:
谢谢,这个解决方案对我有用,上面标记为正确的解决方案不起作用。如果这与使用自定义登录 Facebook 相关,我不这样做,这意味着在我的应用程序中,我将 fbk 登录按钮更改为 android 按钮。没关系它有效 对我也有用,但让我想知道是否需要所有三个读取权限,为什么 Facebook 官方文档只提到“电子邮件”权限? 感谢它在我省略了user_friends
后对我有用
@liorko 您的评论自相矛盾,您表示感谢并说您省略了 user_friends,请澄清
@AkshayVijayJain 这行对我有用:loginButton.setReadPermissions("email", "public_profile")
【参考方案15】:
在您的 strings.xml 中添加一个字符串资源“facebook_application_id”
将 APP_ID 替换为您的 Facebook 应用 ID
<string name="facebook_application_id" translatable="false">APP_ID</string>
【讨论】:
【参考方案16】:除了其他答案,我还请检查用于登录的帐户的电子邮件是否经过验证。
【讨论】:
【参考方案17】:@Danial 回答正确,但我想在其中添加更多内容。此类错误仅在您正在开发的应用程序中出现。关注此link 并选择您的应用程序。然后你可以在这里做两件事。在角色选项卡中,您可以只允许您的朋友登录,或者选择App Review并设置您的app public
,然后任何人都可以登录。
【讨论】:
【参考方案18】:在其他情况下也会返回此错误 - 即使您的应用是公开的或您被列为测试人员。
仔细检查您的
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
正在解析为正确的 Facebook 应用 ID,尤其是如果您使用 gradle build 动态指定它,而不是在 strings.xml 中硬编码。
【讨论】:
以上是关于SERVER_ERROR:[代码] 1675030 [消息]:执行查询时出错的主要内容,如果未能解决你的问题,请参考以下文章
Facebook 登录,哈希键问题 - Flutter ,如何在 Flutter 中生成 Facebook Hashkey?