Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook相册照片请求仅返回25张照片_Android_Facebook_Json_Facebook Android Sdk - Fatal编程技术网

Android Facebook相册照片请求仅返回25张照片

Android Facebook相册照片请求仅返回25张照片,android,facebook,json,facebook-android-sdk,Android,Facebook,Json,Facebook Android Sdk,所以我尝试在Android应用程序中显示相册中的facebook照片 我遇到的问题是,如果我称之为: facebookAsyncRunner.request(albumId + "/photos", new UserAlbumPhotosFetchListener(JSONResponse, photoView)); 我得到了一个由25张照片组成的数组的JSONResponse。然而,我需要的不仅仅是25张照片。。。我需要把它们都放在相册里。所以我试着称之为: facebookAsyncRun

所以我尝试在Android应用程序中显示相册中的facebook照片

我遇到的问题是,如果我称之为:

facebookAsyncRunner.request(albumId + "/photos", new UserAlbumPhotosFetchListener(JSONResponse, photoView));
我得到了一个由25张照片组成的数组的JSONResponse。然而,我需要的不仅仅是25张照片。。。我需要把它们都放在相册里。所以我试着称之为:

facebookAsyncRunner.request(albumId + "/photos?limit=50", new UserAlbumPhotosFetchListener(JSONResponse, photoView));
试图得到50张照片,而不是25张。这不起作用。相反,我什么也没有得到。 我也试着用limit=0调用同样的东西,但这给了我同样的结果。 具体来说:JSONResponse.getJSONArray(“数据”)=[]

是否有人知道正在发生什么事情/如何从相册中请求25张以上的照片

谢谢

编辑:我找到了解决办法

Bundle参数=新Bundle();
参数putString(“限制”、“10”);

请求(albumId+“/photos”,参数,新用户AlbumPhotosFetchListener(JSONResponse,photoView))

您需要使用分页来获取超过25张照片。一次查询只能得到25项结果。要加载下一个25,应使用如下代码:

facebookAsyncRunner.request(albumId + "/photos?offset=25&limit=25", new UserAlbumPhotosFetchListener(JSONResponse, photoView));
这将返回接下来的25个项目,在本例中是从第25位到第50位的照片

这样试试看。。
希望这可以解决您的问题。

我在这里发布了一个答案,其中集成了无休止滚动列表的分页功能:

它太大了,无法再次发布,因此我将链接到原始答案。答案实际上是一个完整的解决方案,即如何在Facebook上查询相册,获取所有照片(最初限制为限制=10),然后在用户向下滚动到最后时从相册中获取其他照片,并将其添加到已获取照片的现有列表中

它使用
GridView
而不是
ListView
,但逻辑保持完全相同

或者,如果您只是在寻找一种获取照片的方法,那么这里有一个简单得多的解决方案可以帮助您开始

try {
    String test = Utility.mFacebook.request("/10151498156121729/photos&access_token=YOUR_ACCESS_TOKEN?limit=1");
    Log.e("TEST", test);
} catch (Exception e) {
    // TODO: handle exception
}
上面代码块中使用的相册ID(10151498156121729)是Facebook公共相册


我使用了3.0之前Facebook SDK的HackBook示例中的实用程序类。如果您使用的是3.0 SDK,我认为您需要用Facebook类的实例替换
实用程序.mFacebook.request

,不幸的是,它仍然会以以下方式响应:{“data”:[]}