簡體   English   中英

嘗試為Android集成Facebook登錄時出現此錯誤-“找不到URL”。 這是什么意思?

[英]Got this error while trying to integrate Facebook login for Android-“couldn't find the URL”. What does it mean?

mfacebook_Callback_Manager = CallbackManager.Factory.create();
        Collection<String> permissions = Arrays.asList("public_profile,email");
        LoginManager.getInstance().logInWithReadPermissions(MainActivity.this,
permissions);
        LoginManager.getInstance().registerCallback(mfacebook_Callback_Manager,
new FacebookCallback<LoginResult>() {.......}

登錄管理器的回調發生錯誤。

堆棧跟蹤:

07-12 21:25:10.712 2107-2107 / com.factory.fbsample.dev W / System.err:at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:191 07-12 21:25:10.712 217 -2107 / com.factory.fbsample.dev W / System.err:位於com.facebook.login.LoginManager $ 1.onActivityResult(LoginManager.java:160 07-12 21:25:10.712 217-2107 / com.factory.fbsample .dev W / System.err:at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.jva:82 07-12 21:25:10.712 217-210 / com.factory.fbsample.dev W / System.err:at com.factory.fbsample.activities.LoginActivity.onActivityResult(LogiActivty.java:272 07-12 21:25:10.712 217-210 / th.co.hond.hconnect.dev W / System.err:位於android.app.Activity .dispatchActivityResult(Activity.java:5322 07-12 21:5:10.712 2107-2107 / com.factory.fbsample.dev W / System.err:at android.app.ActivityThread.deliverResults(ActivityThread.java:3363 07-12 21:5:10.712 2107-2107 / com.factory.fbsample.dev W / System.err:位於android.app.ActivityThread.handleSendResult(ActivityThread.java:3410 07-12 21:5:10.712 2107-2107 / com.factory.fbsample.dev W / System.err:at android.app.ActivityThread.access $ 1100(ActivityThread.java:141 07-12 2125:10.712 2107-2107 / com.factory.fbsample.dev W / System.err:位於android.app.ActivityThread $ H.handleMessage(ActivityThread.java:130 07-12 215:10.712 2107-2107 / com.factory.fbsample.dev W / System。錯誤:在android.os.Handler.dispatchMessage(Handler.java:99)07-12 215:10.720 2107-2107 / com.factory.fbsample.dev W / System.err:在android.os.Looper.loop(Looper .java:137)07-12 215:10.720 2107-2107 / com.factory.fbsample.dev W / System.err:位於android.app.ActivityThread.main(ActivityThread.java:5103)07-12 215:10.720 2107 -2107 / com.factory.fbsample.dev W / System.err:位於java.lang.reflect.Method.invokeNative(本機方法)07-12 215:10.720 2107-2107 / com.factory.fbsample.dev W / System .err:位於java.lang.reflect.Method.invoke(Method.java:525)07-12 215:10.720 2107-2107 / com.factory.fbsample.dev W / System.err:位於com.android.internal。 os.ZygoteInit $ MethodAndArgsCaller.run(的Zygo teIn.java:737 07-12 215:10.720 107-2107 / com.factory.fbsample.dev W / System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)07-12 21:25:10.720 2107-2107 / com.factory.fbsample.dev W / System.err:at dalvik.system.NativeStart.main(本機方法)

您應該將完整的錯誤(包括堆棧跟蹤)發布為問題的一部分。

此外,您的權限構造不正確。 您應該這樣做:

Collection<String> permissions = Arrays.asList("public_profile","email");

在這里這里都有記錄。

您可以將其用作

login_button.setReadPermissions(Arrays.asList("public_profile","email"));
            login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>()
            { 
                @Override 
                public void onSuccess(LoginResult loginResult)
                { 
                    login_button.setVisibility(View.GONE);

                    GraphRequest graphRequest   =   GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback()
                    { 
                        @Override 
                        public void onCompleted(JSONObject object, GraphResponse response)
                        { 
                            Log.d("JSON", ""+response.getJSONObject().toString());

                            try 
                            { 
                                email       =   object.getString("email");
                                name        =   object.getString("name");
                                first_name  =   object.optString("first_name");
                                last_name   =   object.optString("last_name");

                                tvEmail.setText(email);
                                tvfirst_name.setText(first_name);
                                tvlast_namee.setText(last_name);
                                tvfull_name.setText(name);
                                LoginManager.getInstance().logOut(); 
                            } 
                            catch (JSONException e)
                            { 
                                e.printStackTrace();
                            } 
                        } 
                    }); 

                    Bundle parameters = new Bundle();
                    parameters.putString("fields", "id,name,first_name,last_name,email");
                    graphRequest.setParameters(parameters);
                    graphRequest.executeAsync();
                } 

                @Override 
                public void onCancel() 
                { 

                } 

                @Override 
                public void onError(FacebookException exception)
                { 

                } 
            }); 

或者您也可以通過此鏈接和Facebook登錄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM