Facebook c#SDK返回的结果少于原始数字

时间:2011-03-13 13:38:54

标签: c# wpf facebook-graph-api facebook-c#-sdk

我正在收到专辑照片,该专辑共有44张照片,但sdk只返回了25张照片。这是一些限制还是我们要求接下来的25? 到目前为止我的代码是:

dynamic photos = app.Get(AlbumList[currentAlbumSelectedIndex].Id + "/photos");

int infoCount = 0;

foreach (dynamic albumPhoto in photos.data)
{
    Classes.MyPhoto photoData = new Classes.MyPhoto();
    photoData.Id = albumPhoto.id;
    if (albumPhoto.name != null && albumPhoto.name.ToString().Length >100)
        photoData.MyPhotoName = albumPhoto.name.ToString().Substring(0, 90) + "...";
    else
        photoData.MyPhotoName = albumPhoto.name;
    byte[] imageBytes = function.GetImageFromUrl(albumPhoto.source);

    Statuslabel.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate()
    {
        if (imageBytes != null)
            photoData.MyPhotoPicture = function.GetBitmapImage(imageBytes);
        System.Windows.Forms.Application.DoEvents();
        Statuslabel.Content = "Getting info of " + infoCount + " / " + photos.data.Count;
        AlbumPhotoList.Add(photoData);

        if (imageAlbumPhotos.Source == null)
        {
            imageAlbumPhotos.Source = AlbumPhotoList[0].MyPhotoPicture;
            labelAlbumPics.Content = AlbumPhotoList[0].MyPhotoName;
            AlbumPictureGetProgress.Visibility = System.Windows.Visibility.Hidden;
        }
        if (currentAlbumDisplayingPicture < AlbumList.Count - 1)
            buttonNextAlbumPic.IsEnabled = true;
    }));

    infoCount++;
}

2 个答案:

答案 0 :(得分:0)

在您的示例中,您正在使用方法调用

app.Get(AlbumList[currentAlbumSelectedIndex].Id + "/photos");

据我所知,您应该能够传递IDictionary<string, object>作为第二个参数。在那里定义“偏移”参数。

我在阅读&gt;部分的facebook api reference中阅读了偏移参数。寻呼。

希望这有帮助,马丁

答案 1 :(得分:0)

这不是一个问题,但它是一个限制,为了保持工作效率,它默认只返回25个结果,你可以要求尽可能多的结果。给它Offsetlimit

不是代码变得像这样

dynamic parameters = new ExpandoObject();
        parameters.limit = 50;
        parameters.offset = 0;

        dynamic friends = app.Get("me/photos",parameters);