如何使用Request.newUploadPhotoRequest更改照片隐私上传?

时间:2013-12-20 19:19:11

标签: android facebook-android-sdk privacy facebook-requests

我正在尝试在Facebook上分享照片。 首先,我想上传它,然后分享链接。 我的问题是图片是私密的,我已经阅读了privacy parameter,但仍然无法做到这一点。

这是我上传照片的方法:

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");

    }
});
}

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

用户可以控制应用程序可以发布的“天花板”,因此如果他们将权限调整为“仅限我”,那么应用程序可以做任何事情来发布超过该上限。

您可以在请求发布权限时请求特定的上限。请参阅https://developers.facebook.com/docs/reference/android/current/class/Session.NewPermissionsRequest/

上的setDefaultAudience方法

但请注意,用户可以随时更改默认受众群体,而您作为应用无法控制该用户。