2011-05-13 20 views
1

照片我在我的fb帳戶使用Facebook C#-sdk 5.0.25不能得到沒有。在Facebook的相冊

 var fb = new FacebookClient(); 
     fb.AccessToken = facebookOAuthResult.AccessToken; 

     IDictionary<string, object> albums = fb.Get("me/albums") as IDictionary<string, object>; 

     dynamic albumList = albums["data"]; 

     foreach (dynamic albumInfo in albumList) 
     { 
      strAlbid = albumInfo.id; 
      strAlbName = albumInfo.name; 
      strAlbDesc = albumInfo.description; 
      strAlbCnt = albumInfo.count; 
      strAlbInfo = albumInfo.link; 
     } 

上市的相冊,但我不能沒有。因爲albumInfo.count沒有返回任何值,所以在相冊中的照片。

回答

1

從您發佈的代碼片段中很難判斷出來,但看起來好像您試圖將Count作爲字符串(來自變量名strAlbCnt)進行投射。

Count是一個JSON整數 - official documentation聲稱它是一個字符串,但是就像文檔中的許多其他事情一樣,它不準確。檢查this public example of an album,看看我的意思是:

"name": "Happy Lunar New Year 2011", 
"link": "http://www.facebook.com/album.php?aid=324257&id=20531316728", 
"cover_photo": "10150146072661729", 
"count": 79, 
"type": "normal", 

注意cover_photo是儘管是數字的字符串,但伯爵沒有引號圍繞它,使它成爲一個JSON整數。

我不能肯定地說這是你的問題的原因,但我有類似的問題來自動態對象之前,所以這是我立即懷疑的東西。

+0

聲明變量爲空的問題解決了 – user752394 2011-05-16 14:12:21

+0

FWIW,我相信計數的類型是一個長期的,不是一個int。 – Dave 2012-06-04 21:30:28

+0

我使用**動態相冊= app.Get(「我/相冊」); **如何獲得公開相冊_www.facebook.com/album.php?fbid=10150146071791729&id=20531316728&aid=324257_? – Kiquenet 2014-11-18 20:24:44

0

不知道這是否是你遇到了同樣的問題,但我有一個類似於此:

int albumCount == Data.count; 

這將拋出一個轉換異常,因爲計數字段實際上是很長。所以這工作:

long albumCount == Data.count;