簡體   English   中英

無法獲取專輯列表 Facebook GraphRequest Android

[英]Cannot get list of albums Facebook GraphRequest Android

我嘗試從 facebook GraphRequest API 獲取 facebook 共享相冊。 in loadAlbum method can get only id as a object, this is facebook sdk implementation 'com.facebook.android:facebook-android-sdk:[4,5)' i tried to get using facebook grapAPI here it gives all results but not give在我的 android 應用程序響應 object 中只給出{"id":"5507801********"}這個。

在此處輸入圖像描述 這是我的 onCreate 方法

        FacebookSdk.sdkInitialize(this.getApplicationContext());
        callbackManager = CallbackManager.Factory.create();
        setupfb();
        loggedIn = AccessToken.getCurrentAccessToken() != null;

        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile,user_photos"));

            }
        });

        if (loggedIn) {
            loadAlbums();
        }

這里是我的 loadAlbums() 方法


public void loadAlbums() {
        GraphRequest request = GraphRequest.newMeRequest(
                AccessToken.getCurrentAccessToken(),
                new GraphRequest.GraphJSONObjectCallback() {
                    @Override
                    public void onCompleted(JSONObject object, GraphResponse response) {
                        try {
                            Toast.makeText(getApplicationContext(), "response" + object, Toast.LENGTH_SHORT).show();
                            Log.d("albums", object.toString());
                            if (response.getConnection().getResponseCode() == 200) {

                                ArrayList<String> photos = new ArrayList<String>();
                                ArrayList<String> titles = new ArrayList<String>();
                                Log.d("albums", object.toString());

                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });

        Bundle parameters = new Bundle();
        parameters.putString("fields", "albums.limit(400){picture{url},name}");
        request.setParameters(parameters);
        request.executeAsync();

    }

和 setFb 方法()

  private void setupfb() {
    FacebookSdk.sdkInitialize(this.getApplicationContext());
    callbackManager = CallbackManager.Factory.create();

    LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            loadAlbums();

        }

        @Override
        public void onCancel() {
            Toast.makeText(getApplicationContext(), "Canceld", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onError(FacebookException error) {
            Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_LONG).show();
        }
    });
}

這里是我的 onActivityResults 方法

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


}

這是管理員問題,需要在相應的 facebook appId 中授予開發者登錄帳戶的權限。

暫無
暫無

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

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