不能得不到。 Facebook专辑中的照片

时间:2011-05-13 12:52:33

标签: facebook-c#-sdk

我使用facebook-c#-sdk 5.0.25在我的fb帐户中列出相册

        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没有返回任何值。

2 个答案:

答案 0 :(得分: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是一个字符串,但Count没有引号,使其成为JSON整数。

我不能肯定这是你问题的原因,但我之前遇到过来自动态对象的类似问题,所以我很快就会怀疑它。

答案 1 :(得分:0)

不确定这是否与您遇到的问题相同,但我有类似的事情:

int albumCount == Data.count;

这会引发转换异常,因为count字段实际上很长。所以这很有效:

long albumCount == Data.count;