Facebook/Parse Login 行为异常:代理的应用程序尚未安装 [英] Facebook / Parse Login behaving strange: The proxied app is not already installed

查看:50
本文介绍了Facebook/Parse Login 行为异常:代理的应用程序尚未安装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要疯了!虽然,那里的解决方案确实帮助了我,但它们并没有解决我的问题.

我正在将 Facebook 登录添加到我当前的应用中.关键是,我有一些应用程序已经具有此功能.我没有问题将它添加到他们!我查看了这些应用程序的代码,我现在正在处理的这段代码是相同的.我能想到的唯一区别是这个应用程序在市场上然后获得了 Facebook 登录功能.但是,我无法想象这会很重要...

代码:

 Button fb = (Button) view.findViewById(R.id.bFacebook);Settings.setApplicationId(APPLICATION_ID);fb.setOnClickListener(new View.OnClickListener() {@覆盖公共无效onClick(查看视图){Log.d(标签,按钮被按下");ParseFacebookUtils.logIn(Arrays.asList(ParseFacebookUtils.Permissions.User.ABOUT_ME),getActivity(), 新的 LogInCallback() {@覆盖公共无效完成(最终 ParseUser 用户,ParseException 错误){如果(用户==空){Log.d("MyApp", "哦哦.用户取消了 Facebook 登录.");Toast.makeText(getActivity(), "CANCEL", Toast.LENGTH_LONG).show();} else if (user.isNew()) {Log.d("MyApp", "用户通过 Facebook 注册并登录!");Toast.makeText(getActivity(), "SIGNUP", Toast.LENGTH_LONG).show();} 别的 {Log.d("MyApp", "用户通过 Facebook 登录!");Toast.makeText(getActivity(), "LOGIN", Toast.LENGTH_LONG).show();}结尾();}私人无效结束(){活动.changeFrag(Drawer.Frag.HOME);}});}});}@覆盖public void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);}

我收到警告:

<块引用>

com.facebook.http.protocol.ApiException:代理的应用程序尚未安装.

会发生什么:

  1. 我点击登录按钮,FB 应用程序按原样打开
  2. 很快就会出现一个微调器.
  3. 然后 FB 会立即关闭,我的应用会再次显示.

如果你看到我的ParseCallback done 代码,你会注意到无论用户的结果如何,它都应该改变片段.但这永远不会被调用,也永远不会显示日志.

我做了什么:

  • 我已经进入了我的解析设置,并在设置中添加了我的秘密和 ID(我所做的所有研究,我注意到这是很多人会做的错误.检查如果你是来这里寻求答案的!!)
  • 我使用 Parse.com 指南.
  • 我已经四次检查我的 KeyHash 是否正确.
  • 我正在我的应用程序的 onCreate 中调用 ParseFacebookUtils.initialize(APPLICATION_ID);.
  • 我已经安装了 FB 应用程序
  • 我在模拟器和物理设备上都试过了
  • 我已经完全重新开始了一个仅包含更新的 Parse.jar 和 Facebook-sdk 的新项目.依然没有.

这是警告的完整堆栈跟踪.它对我没有好处,但也许你可以破译它:

05-25 18:27:09.402 4515-4515/com.codealchemist D/登录 Facebook:按钮被按下com.codealchemist/com.facebook.LoginActivity:+82ms05-25 18:27:10.002 3746-4556/com.facebook.katana W/fb4a(:<default>):BlueServiceQueue:服务期间的异常com.facebook.http.protocol.ApiException:代理的应用程序尚未安装.在 com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)在 com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)在 com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:151)在 com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)在 com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)在 com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:55)在 com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:28)在 com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:314)在 com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:144)在 com.facebook.http.common.FbHttpRequestProcessor.b(FbHttpRequestProcessor.java:100)在 com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:230)在 com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:402)在 com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:164)在 com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:18)在 com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)在 com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)在 com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:329)在 com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:55)在 com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:258)在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)在 java.util.concurrent.FutureTask.run(FutureTask.java:237)在 com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:59)在 android.os.Handler.handleCallback(Handler.java:733)在 android.os.Handler.dispatchMessage(Handler.java:95)在 android.os.Looper.loop(Looper.java:136)在 android.os.HandlerThread.run(HandlerThread.java:61)05-25 18:27:10.002 1272-1783/system_process I/ActivityManager: START u0 {cmp=com.facebook.katana/.ProxyAuth (has extras)} from pid 451505-25 18:27:10.012 3746-3817/com.facebook.katana W/Settings:设置 wifi_sleep_policy 已从 android.provider.Settings.System 移至 android.provider.Settings.Global,返回只读值.05-25 18:27:10.032 1272-1420/system_process I/ActivityManager: START u0 {cmp=com.facebook.katana/.ProxyAuthDialog (has extras)} from pid 374605-25 18:27:10.082 3746-3746/com.facebook.katana D/dalvikvm﹕GC_FOR_ALLOC 释放 2462K,34% 释放 11230K/16936K,暂停 20 毫秒,总共 21 毫秒05-25 18:27:10.192 3746-3746/com.facebook.katana W/EGL_emulation: eglSurfaceAttrib 未实现05-25 18:27:10.212 3746-3746/com.facebook.katana W/AwContents:nativeOnDraw 失败;清除背景颜色.05-25 18:27:10.222 1272-1286/system_process I/ActivityManager﹕显示的 com.facebook.katana/.ProxyAuthDialog: +187ms (total +206ms)05-25 18:27:10.292 3746-3746/com.facebook.katana W/EGL_emulation: eglSurfaceAttrib 未实现05-25 18:27:10.592 3746-3746/com.facebook.katana E/eglCodecCommon: glUtilsParamSize: 未知参数 0x00000b4405-25 18:27:10.602 3746-3746/com.facebook.katana E/eglCodecCommon:glUtilsParamSize:未知参数 0x00000bd005-25 18:27:10.612 3746-3746/com.facebook.katana I/chromium: [INFO:async_pixel_transfer_manager_android.cc(56)] 不支持异步像素传输05-25 18:27:10.622 3746-3746/com.facebook.katana E/chromium: [错误:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:9854F8B8] ERRORID_GLIN_GLATION: <- 来自上一个 GL 命令的错误05-25 18:27:10.672 3746-3746/com.facebook.katana I/chromium: [INFO:async_pixel_transfer_manager_android.cc(56)] 不支持异步像素传输05-25 18:27:10.692 3746-3746/com.facebook.katana E/chromium: [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:483727B9] ERRORID_GGLIN_GLATION: 483727B9]: <- 来自上一个 GL 命令的错误05-25 18:27:10.752 3746-3746/com.facebook.katana E/eglCodecCommon: **** 错误未知类型 0x0 (glSizeof,72)05-25 18:27:10.752 3746-3746/com.facebook.katana E/eglCodecCommon:glUtilsParamSize:未知参数 0x00000b4405-25 18:27:10.762 3746-3746/com.facebook.katana E/eglCodecCommon: glUtilsParamSize: 未知参数 0x00000bd005-25 18:27:10.792 3746-3746/com.facebook.katana E/eglCodecCommon: **** 错误未知类型 0x0 (glSizeof,72)05-25 18:27:10.872 4515-4515/com.codealchemist W/EGL_emulation: eglSurfaceAttrib 未实现05-25 18:27:10.872 4515-4515/com.codealchemist E/HardwareRenderer:绘制时发生错误:java.lang.IllegalStateException: 显示列表无效.在 android.view.GLES20DisplayList.getNativeDisplayList(GLES20DisplayList.java:49)在 android.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420)在 android.view.HardwareRenderer$GlRenderer.drawDisplayList(HardwareRenderer.java:1646)在 android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)在 android.view.ViewRootImpl.draw(ViewRootImpl.java:2381)在 android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2253)在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1883)在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)在 android.view.Choreographer.doCallbacks(Choreographer.java:574)在 android.view.Choreographer.doFrame(Choreographer.java:544)在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)在 android.os.Handler.handleCallback(Handler.java:733)在 android.os.Handler.dispatchMessage(Handler.java:95)在 android.os.Looper.loop(Looper.java:136)在 android.app.ActivityThread.main(ActivityThread.java:5017)在 java.lang.reflect.Method.invokeNative(Native Method)在 java.lang.reflect.Method.invoke(Method.java:515)在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)在 dalvik.system.NativeStart.main(本机方法)

解决方案

我也遇到了这个错误.

我删除了请求权限,然后一切恢复正常.

facebook权限指南中,在部分查看说

<块引用>

如果您的应用要求的不仅仅是 public_profile、email 和 user_friends,它需要 Facebook 审核,然后您的应用才能被应用开发者以外的人使用.

审核您的应用的时间通常约为 7 个工作日.如下所述,某些特别敏感的权限最多可能需要 14 个工作日.

所以我将权限减少到只有这三个权限并且它正在工作.也许你的问题是这样的.

I am going nuts with this! Although, the solutions out there did help me, they did not fix my problem.

I am adding Facebook login to my current app. The kicker is, I have a few apps that already have this feature. I had no problem adding it to them! I have looked at the code of those apps, and this code I am working on now is identical. The only difference I can think of is this app was out on the market then received a Facebook login feature. But, I can't imagine that would matter...

Code:

    Button fb = (Button) view.findViewById(R.id.bFacebook);
    Settings.setApplicationId(APPLICATION_ID);

    fb.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d(TAG, "BUTTON WAS PRESSED");

            ParseFacebookUtils.logIn(Arrays.asList(ParseFacebookUtils.Permissions.User.ABOUT_ME),
                    getActivity(), new LogInCallback() {
                @Override
                public void done(final ParseUser user, ParseException err) {
                    if (user == null) {
                        Log.d("MyApp", "Uh oh. The user cancelled the Facebook login.");
                        Toast.makeText(getActivity(), "CANCEL", Toast.LENGTH_LONG).show();

                    } else if (user.isNew()) {
                        Log.d("MyApp", "User signed up and logged in through Facebook!");
                        Toast.makeText(getActivity(), "SIGNUP", Toast.LENGTH_LONG).show();
                    } else {
                        Log.d("MyApp", "User logged in through Facebook!");
                        Toast.makeText(getActivity(), "LOGIN", Toast.LENGTH_LONG).show();
                    }
                    end();
                }

                private void end() {
                    activity.changeFrag(Drawer.Frag.HOME);
                }
            });
        }
    });


}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
}

I receive the WARNING:

com.facebook.http.protocol.ApiException: The proxied app is not already installed.

What happens:

  1. I click the log in button, FB app opens as it should
  2. Briefly a spinner will appear.
  3. FB will then promptly shut down, and my app is displayed again.

If you see my ParseCallback done code, you will notice that no matter the results of the user, it should change fragments. But this is never called, and logs are never displayed.

What I have Done:

  • I have gone in to my Parse settings, and added my Secret and ID in the settings (All the research I have done, I notice this is what a lot of people will do wrong. Check this if you are here for answers!!)
  • I have added the Facebook Sdk, using the Parse.com guide.
  • I have quadruple checked that my KeyHash is correct.
  • I am calling ParseFacebookUtils.initialize(APPLICATION_ID); in my application's onCreate.
  • I have installed the FB app
  • I have tried this both on emulator and physical device
  • I have COMPLETELY started over with a new project that only includes the updated Parse.jar and Facebook-sdk. STILL nothing.

Here is a full stack trace of the warning. It did no good for me, but maybe you can decipher it:

05-25 18:27:09.402    4515-4515/com.codealchemist D/Login Facebook﹕ BUTTON WAS PRESSED
com.codealchemist/com.facebook.LoginActivity: +82ms
05-25 18:27:10.002    3746-4556/com.facebook.katana W/fb4a(:<default>):BlueServiceQueue﹕ Exception during service
    com.facebook.http.protocol.ApiException: The proxied app is not already installed.
            at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)
            at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)
            at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:151)
            at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)
            at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)
            at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:55)
            at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:28)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:314)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:144)
            at com.facebook.http.common.FbHttpRequestProcessor.b(FbHttpRequestProcessor.java:100)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:230)
            at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:402)
            at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:164)
            at com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:18)
            at com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)
            at com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)
            at com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:329)
            at com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:55)
            at com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:258)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:59)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.os.HandlerThread.run(HandlerThread.java:61)
05-25 18:27:10.002    1272-1783/system_process I/ActivityManager﹕ START u0 {cmp=com.facebook.katana/.ProxyAuth (has extras)} from pid 4515
05-25 18:27:10.012    3746-3817/com.facebook.katana W/Settings﹕ Setting wifi_sleep_policy has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-25 18:27:10.032    1272-1420/system_process I/ActivityManager﹕ START u0 {cmp=com.facebook.katana/.ProxyAuthDialog (has extras)} from pid 3746
05-25 18:27:10.082    3746-3746/com.facebook.katana D/dalvikvm﹕ GC_FOR_ALLOC freed 2462K, 34% free 11230K/16936K, paused 20ms, total 21ms
05-25 18:27:10.192    3746-3746/com.facebook.katana W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.212    3746-3746/com.facebook.katana W/AwContents﹕ nativeOnDraw failed; clearing to background color.
05-25 18:27:10.222    1272-1286/system_process I/ActivityManager﹕ Displayed com.facebook.katana/.ProxyAuthDialog: +187ms (total +206ms)
05-25 18:27:10.292    3746-3746/com.facebook.katana W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.592    3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.602    3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.612    3746-3746/com.facebook.katana I/chromium﹕ [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
05-25 18:27:10.622    3746-3746/com.facebook.katana E/chromium﹕ [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:9854F8B8]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.672    3746-3746/com.facebook.katana I/chromium﹕ [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
05-25 18:27:10.692    3746-3746/com.facebook.katana E/chromium﹕ [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:483727B9]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.752    3746-3746/com.facebook.katana E/eglCodecCommon﹕ **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.752    3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.762    3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.792    3746-3746/com.facebook.katana E/eglCodecCommon﹕ **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.872    4515-4515/com.codealchemist W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.872    4515-4515/com.codealchemist E/HardwareRenderer﹕ An error has occurred while drawing:
    java.lang.IllegalStateException: The display list is not valid.
            at android.view.GLES20DisplayList.getNativeDisplayList(GLES20DisplayList.java:49)
            at android.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420)
            at android.view.HardwareRenderer$GlRenderer.drawDisplayList(HardwareRenderer.java:1646)
            at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)
            at android.view.ViewRootImpl.draw(ViewRootImpl.java:2381)
            at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2253)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1883)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:544)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)

解决方案

I got this error too.

I remove the request permission and the things back to work.

In facebook permission guide, in section review it said

If your app asks for more than than public_profile, email and user_friends it will require review by Facebook before your app can be used by people other than the app's developers.

The time to review your app is usually about 7 business days. Some extra-sensitive permissions, as noted below, can take up to 14 business days.

So I reduce permission to only those three permission and it is working. Maybe your problem is this.

这篇关于Facebook/Parse Login 行为异常:代理的应用程序尚未安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆