Android Facebook oAuth - 尚未安装代理应用程序

时间:2014-11-20 09:46:32

标签: android facebook facebook-graph-api

我正在使用新的图形api进行Facebook oAuth。但是,SDK设置为以兼容模式运行(即默认调用v1.0端点)。

每当我尝试登录时,我都会从Facebook获得一个空白屏幕,以下是logcat中的例外情况:

    W/fb4a(:<default>):BlueServiceQueue( 1070): Exception during service
    W/fb4a(:<default>):BlueServiceQueue( 1070): com.facebook.http.protocol.ApiException: [code] 408 [message]: The proxied app is not already installed. [extra]: null
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:84)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:163)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:153)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:55)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:28)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:482)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:183)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.common.FbHttpRequestProcessor.d(FbHttpRequestProcessor.java:137)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:281)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:493)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:234)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:20)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:360)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:58)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:280)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:58)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at android.os.Handler.handleCallback(Handler.java:733)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at android.os.Handler.dispatchMessage(Handler.java:95)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at android.os.Looper.loop(Looper.java:136)
    W/fb4a(:<default>):BlueServiceQueue( 1070):     at android.os.HandlerThread.run(HandlerThread.java:61)


<!-- end snippet -->

我要求以下权限:

    permissions = Arrays.asList( "user_status", "read_stream", "email", "user_friends", "installed");

这就是我设置权限的方式:

private void onFacebookLogin() {
        Session session = Session.getActiveSession();
        if (session.isClosed()) {
            session = new Session(getActivity());
            Session.setActiveSession(session);
        }
        if (!session.isOpened()) {
            session.openForRead(new Session.OpenRequest(this).setPermissions(permissions).setCallback(callback));
        } else {
            Session.openActiveSession(getActivity(), this, true, callback);
        }
    }

这个错误是什么意思?有没有人找到解决方案呢?谢谢!

1 个答案:

答案 0 :(得分:0)

对于任何寻找此问题解决方案的人来说,这对我有用:

检查您的权限,它看起来像&#34;已安装&#34;没有有效的许可。删除&#34;安装&#34;从列表中一切正常。