2011-07-06 49 views
1

我需要將facebook集成到我的桌面應用程序的幫助。它是用C#開發的 - 目標框架是.NET框架4.0。 我使用http://facebooktoolkit.codeplex.com/facebooktoolkit和C#照片上傳問題

的問題是,我不能得到用戶的專輯雖然我的應用程序有權限的人,併爲所有的更加混亂,我可以得到狀態,意見,朋友等 我有這樣的設計師:

this.fbMyApp = new Facebook.Winforms.Components.FacebookService(this.components); 
this.fbMyApp.ApplicationKey = "myappkey_goes_here"; 
this.fbMyApp.SessionKey = null; 
this.fbMyApp.uid = ((long)(0)); 

而且我用這個代碼(我已經設置用於測試目的的所有權限):

fbMyApp.ConnectToFacebook(new List<Facebook.Schema.Enums.ExtendedPermissions>() { 
      Facebook.Schema.Enums.ExtendedPermissions.create_event, 
      Facebook.Schema.Enums.ExtendedPermissions.create_note, 
      Facebook.Schema.Enums.ExtendedPermissions.email, 
      Facebook.Schema.Enums.ExtendedPermissions.offline_access, 
      Facebook.Schema.Enums.ExtendedPermissions.photo_upload, 
      Facebook.Schema.Enums.ExtendedPermissions.publish_stream, 
      Facebook.Schema.Enums.ExtendedPermissions.read_mailbox, 
      Facebook.Schema.Enums.ExtendedPermissions.read_stream, 
      Facebook.Schema.Enums.ExtendedPermissions.rsvp_event, 
      Facebook.Schema.Enums.ExtendedPermissions.share_item, 
      Facebook.Schema.Enums.ExtendedPermissions.sms, 
      Facebook.Schema.Enums.ExtendedPermissions.status_update, 
      Facebook.Schema.Enums.ExtendedPermissions.video_upload 
     }); 

現在,如果我這樣做(用戶登錄後) :

MessageBox.Show("TOTAL statuses: " + fbMyApp.Status.Get().Count.ToString()); 

我會得到用戶狀態的數量,並且可以讀取它們。但是,如果我這樣做:

MessageBox.Show("TOTAL albums: " + fbMyApp.Photos.GetAlbums().Count.ToString()); 

我得到零,雖然用戶有大約10張專輯。我需要這個,通過這種方式我可以訪問相冊ID並可以將照片上傳到特定相冊。任何想法,爲什麼這不工作或有沒有人有更好的建議爲C#的一些Facebook工具包?

+0

好吧,我不是專家,但它是所有的權限?沒有閱讀用戶照片/相冊的許可。以防萬一你忘記了這個許可,如果有的話。 –

+0

不,這就是我可以添加的所有權限(Facebook工具包已定義)。 – n1tr0

回答

1

您需要從Facebook請求「user_photos」permissions。我沒有使用這個工具包,因爲我更喜歡動態地進行簡單的圖形化的休息調用,而不是擁有一個巨大的庫。我想你可以下載源代碼並重新編譯它,添加缺少的權限。你也可以切換到這個library這是最新的當前Facebook功能。

+0

謝謝你讓我知道我需要的實際許可。我已經改變了工具包的源代碼(枚舉),重新編譯它並且它可以工作!我會看看我是否會切換到該庫,因爲這個人可以完成這項工作。 百萬倍感謝! ;) – n1tr0