我目前正在使用Android版的Facebook SDK 3.0.1在Facebook上发布照片。要上传我的照片,我调用方法:
Request.newUploadPhotoRequest(session, screenShot, new Request.Callback() {});
照片会立即发布在脸书上,但只有属性/权限"只有我",而不是"Public""你的朋友。
你知道如何改变吗?是否缺少某些权限?
更新-我的解决方案
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if ( exception != null )
{
//Log exception here
return;
}
if ( state == SessionState.OPENED ) {
List<String> permissions = new ArrayList<String>();
permissions.add("photo_upload");
session.requestNewReadPermissions(new Session.NewPermissionsRequest(MainActivity.this, permissions));
Toast.makeText(MainActivity.this, R.string.facebook_login_succeeded_message, Toast.LENGTH_LONG).show();
}
else if ( state == SessionState.CLOSED ) {
}
else if ( state == SessionState.OPENED_TOKEN_UPDATED) {
}
}
});
当您请求发布权限时(通过Session.NewPermissionsRequest),您可以将默认访问群体设置为您想要的任何对象(请参阅此处)。
然而,请注意,用户稍后总是可以将默认受众限制为他们选择的任何受众,并且您的应用程序不能发布超过该受众的内容。还要注意,大多数用户不想公开发布,因此默认为公开可能会导致一些用户拒绝您的发布权限请求。