2017-07-03 143 views
0

我是新的Android開發,嘗試實現與facebookSDK的Facebook登錄,並沒有找到什麼是需要解決這個問題...當我點擊按鈕,回調返回出現以下錯誤:SERVER_ERROR:[code] 1675030 [message]:執行查詢時出錯。 [extra]:執行操作「ProxyAuthAppLoginStartQuery」時出錯:在Query.proxy_auth_app_login_start:未能解析字段。然後出現加載並沒有任何反應。Facebook的回調錯誤

下面是活動代碼:

private static final String TAG_CANCEL = "1"; 
private static final String TAG_ERROR = "2"; 
public static CallbackManager callbackManager; 
private LoginButton loginButton; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    callbackManager = CallbackManager.Factory.create(); 

    setContentView(R.layout.activity_login); 

    loginButton = (LoginButton) findViewById(R.id.login_button); 

    loginButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // Call private method 
      onFblogin(); 
     } 
    }); 
} 

private void onFblogin() { 
    // Set permissions 
    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email", "user_photos", "public_profile")); 
    callbackManager = CallbackManager.Factory.create(); 
    LoginManager.getInstance().registerCallback(callbackManager, 
      new FacebookCallback<LoginResult>() { 
       @Override 
       public void onSuccess(LoginResult loginResult) { 
        System.out.println("Success"); 
        GraphRequest.newMeRequest(
          loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 
           @Override 
           public void onCompleted(JSONObject json, GraphResponse response) { 
            if (response.getError() != null) { 
             // handle error 
             System.out.println("ERROR"); 
            } else { 
             System.out.println("Success"); 
             try { 

              String jsonresult = String.valueOf(json); 
              System.out.println("JSON Result" + jsonresult); 

              String str_email = json.getString("email"); 
              String str_id = json.getString("id"); 
              String str_firstname = json.getString("first_name"); 
              String str_lastname = json.getString("last_name"); 

             } catch (JSONException e) { 
              e.printStackTrace(); 
             } 
            } 
           } 

          }).executeAsync(); 
       } 

       @Override 
       public void onCancel() { 
        Log.d(TAG_CANCEL, "On cancel"); 
       } 

       @Override 
       public void onError(FacebookException error) { 
        Log.d(TAG_ERROR, error.toString()); 
       } 
      }); 
} 


private void goMainScreen() { 
    Intent intent = new Intent(LoginActivity.this, MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | 
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(intent); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent 
data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    callbackManager.onActivityResult(requestCode, resultCode, data); 
} 
} 

和清單代碼:

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.breno.tcc"> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".LoginActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.facebook.FacebookActivity" 
      android:configChanges= 
       "keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:label="@string/app_name" /> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" 
      android:theme="@style/AppTheme.NoActionBar" /> 

     <meta-data android:name="com.facebook.sdk.ApplicationId" 
    android:value="@string/facebook_app_id"/> 
    </application> 

    </manifest> 

感謝您的幫助!

回答

0

發現問題,我是用錯誤的值設置應用程序ID。