![](/img/trans.png)
[英]Facebook GraphRequest get list of albums or create one 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********"}
這個。
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.