2

このリンクSDK 3.0をたどって、アプリにFacebook を統合しました。ユーザーの電子メールを取得中に 1 つの問題が発生しています。

一部のデバイスではメールを取得できますが、一部のデバイス (Samsung Note 2、現在知っている Samsung の Google Nexus など) ではメールを取得できません。メールを取得するためのアクセス許可を既に追加しています。

誰でも、この任意のタイプのヘルプのガイドラインを提案できますか?次の方法でユーザー情報を取得しようとしています。

     Request request = Request.newMeRequest(session, 
            new Request.GraphUserCallback() {
        @Override
        public void onCompleted(GraphUser user, Response response) {
            // If the response is successful
            if (session == Session.getActiveSession()) {

                if (user != null) {

                    String userName = user.getName();
                    String userEmail = user.asMap().get("email").toString();
                    userEmail = (String)user.getProperty("email");
                    String userId = user.getId();
                    Session session = Session.getActiveSession();
                    String userAccessToken = session.getAccessToken();

                }
            }
            if (response.getError() != null) {

                // Handle errors, will do so later.
            }
        }
    });

String NAME = "name";
    String ID = "id";
    String PICTURE = "picture";
    String EMAIL = "email";
    String FIELDS = "fields";
    String REQUEST_FIELDS = TextUtils.join(",", new String[] {ID, NAME, PICTURE, EMAIL});

    Bundle parameters = new Bundle();
    parameters.putString(FIELDS, REQUEST_FIELDS);
    request.setParameters(parameters);
    Request.executeBatchAsync(request);

メールを取得するためにもこれを試しましたが、まだ機能していません。

    Bundle params = request.getParameters();
    params.putString("fields", "email");
    params.putString("basic_info", "email,name");
    request.setParameters(params);
    Request.executeBatchAsync(request); 

あらゆる種類のヘルプまたはガイドラインが役立ちます。

4

2 に答える 2

3

最後に、友人の ID の 1 つで確認した質問に対する回答を得て、彼が自分のアカウントにFacebook自分の ID を入力していないことを発見しました。このリンクに記載されているアクセス許可を追加する必要があります。または、質問で使用したように明示的にアクセス許可を追加することもできます。Email IdFacebook

これが誰かにとって役立つことを願っています。

于 2013-07-06T10:09:53.937 に答える
0

私の意見では、Stack Overflow のこのリンクに示されているように、OpenRequest のオブジェクトを作成する必要があります。それはあなたの問題を解決するかもしれません。:- Facebook ログインからユーザーの電子メール ID を取得するための許可を設定します

于 2013-07-02T07:21:58.507 に答える