1

このリンクを使用して Facebook Android SDK を統合しようとしています。ログに記録されたユーザーを取得しようとしているときに JSONException が1つ取得されることを除いて、すべてが完璧に実行emailされます。

以下は私が得るlogcatです、

07-28 16:22:37.420: W/System.err(15793): org.json.JSONException: 電子メールの値がありません 07-28 16:22:37.421: W/System.err(15793): org.json .JSONObject.get(JSONObject.java:354) 07-28 16:22:37.421: W/System.err(15793): org.json.JSONObject.getString(JSONObject.java:510) 07-28 16:22 :37.421: W/System.err(15793): in.airangle.foodapp.activities.TestActivity$1$1.onCompleted(TestActivity.java:83) 07-28 16:22:37.421: W/System.err(15793) : com.facebook.GraphRequest$1.onCompleted(GraphRequest.java:295) 07-28 16:22:37.421: W/System.err(15793): com.facebook.GraphRequest$5.run(GraphRequest.java:1243) ) 07-28 16:22:37.421: W/System.err(15793): android.os.Handler.handleCallback(Handler.java:615) 07-28 16:22:37.421: W/System.err(15793) ): android.os.Handler.dispatchMessage(Handler.java:92) 07-28 16:22:37.422:W/System.err(15793): android.os.Looper.loop(Looper.java:153) 07-28 16:22:37.422: W/System.err(15793): android.app.ActivityThread.main で(ActivityThread.java:5000) 07-28 16:22:37.422: W/System.err(15793): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 07-28 16:22:37.422: W/ System.err(15793): java.lang.reflect.Method.invoke(Method.java:511) 07-28 16:22:37.422: W/System.err(15793): com.android.internal.os で.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 07-28 16:22:37.423: W/System.err(15793): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) で07-28 16:22:37.423: W/System.err(15793): dalvik.system.NativeStart.main (ネイティブ メソッド) でmain (ActivityThread.java:5000) 07-28 16:22:37.422: W/System.err(15793): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 07-28 16:22:37.422: W /System.err(15793): java.lang.reflect.Method.invoke(Method.java:511) 07-28 16:22:37.422: W/System.err(15793): com.android.internal. os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 07-28 16:22:37.423: W/System.err(15793): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) ) 07-28 16:22:37.423: W/System.err(15793): dalvik.system.NativeStart.main (ネイティブ メソッド) でmain (ActivityThread.java:5000) 07-28 16:22:37.422: W/System.err(15793): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 07-28 16:22:37.422: W /System.err(15793): java.lang.reflect.Method.invoke(Method.java:511) 07-28 16:22:37.422: W/System.err(15793): com.android.internal. os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 07-28 16:22:37.423: W/System.err(15793): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) ) 07-28 16:22:37.423: W/System.err(15793): dalvik.system.NativeStart.main (ネイティブ メソッド) でandroid.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 07-28 16:22:37.423: W/System.err(15793): com.android.internal.os.ZygoteInit.main(ZygoteInit) で.java:584) 07-28 16:22:37.423: W/System.err(15793): dalvik.system.NativeStart.main (ネイティブ メソッド) でandroid.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 07-28 16:22:37.423: W/System.err(15793): com.android.internal.os.ZygoteInit.main(ZygoteInit) で.java:584) 07-28 16:22:37.423: W/System.err(15793): dalvik.system.NativeStart.main (ネイティブ メソッド) で

LoginManager私の理解では、 andを使用してユーザーの詳細を取得する方法があるはずGraphRequestです。誰かが何か考えを持っているなら、私を助けてください。

4

1 に答える 1

7

答えがわかりました。Facebook へのログインに成功したら、get に従って、retrieve を作成GraphRequestする必要があります。ここにコードがあります、accesstokenemail

GraphRequest request = GraphRequest.newMeRequest(accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object,GraphResponse response) {
    if (response != null) {
        try {
            String mFbid = object.getString("id");
            String mFullname = object.getString("name");
            String email = object.getString("email");
        } catch (JSONException e) {}
    }
}
});
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,email");
            request.setParameters(parameters);
            request.executeAndWait();
于 2015-08-19T11:50:28.640 に答える