2013-12-20 62 views
0

我試圖在Facebook上分享的照片。 首先,我想上傳它,然後分享鏈接。 我的問題是,畫面變爲私有,我看了privacy parameter,但仍然沒有成功地做到這一點。如何使用Request.newUploadPhotoRequest更改照片隱私上傳?

這是我的方法上傳照片:

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

    } 
}); 
} 

對不起,我的英語水平。

回答

0

用戶控制「天花板」,一個應用程序可以在後,因此,如果他們已經調整的權限是「我的只有」,那麼有什麼你作爲一個應用程序可以做張貼天花板上方。

當你請求發佈權限,您可以要求一個特定的上限。請參閱https://developers.facebook.com/docs/reference/android/current/class/Session.NewPermissionsRequest/

上的setDefaultAudience方法但請注意,用戶隨時可以隨時更改默認受衆,而您作爲應用程序無法控制該方法。

+0

謝謝,但我無法使用。最後,我使用https://github.com/m3n0R/EasyFacebookConnect,是爲Facebook SDK一個非常簡單的實現。 – cjose3