我正在尝试在 Facebook 上分享一张照片。首先我想上传它,然后分享链接。我的问题是图片是私有的,我已经阅读了隐私参数,但仍然没有设法做到这一点。
这是我上传照片的方法:
public static void publishPhoto(final Activity current,
final Bitmap photo, final String title) {
// start Facebook Login
Session.openActiveSession(current, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Request request = Request.newUploadPhotoRequest(session, photo,
new Request.Callback() {
@Override
public void onCompleted(Response response) {
if (response.getError() == null) {
String url = "https://www.facebook.com/photo.php?fbid="+getID(response);
publishFeedDialog(current, null, null, null, url, null);
}
else {
Log.d(TAG, response.toString());
}
}
});
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("value", "ALL_FRIENDS");
} catch (JSONException e) {
Log.e(TAG, "parse value of privacy to JSON: "+e.getMessage());
}
Bundle params = request.getParameters();
params.putString("privacy", jsonObject.toString());
params.putString(NAME, title);
request.setParameters(params);
request.executeAsync();
} else
Log.d(TAG, "login off");
}
});
}
对不起我的英语不好。