我正在尝试从我的应用程序中编写一个寻呼机,它需要获取专辑的总数。我可以从 orkut 获取所有相册,但这会降低传输速度,因为我只需要总数,而不需要相册中的数据。
opensocial v9 是否有一个功能,可以查看查看者有多少相册?或者也许我只获取专辑的 ID,这样我就可以最大限度地减少传输时间
Opensocial 通过为开发人员提供向 DataRequest(和其他 *Request)添加
startIndex
和 count
参数的能力来支持分页。如果开发者不提供 count
参数,则默认为 20
,正如您猜测的那样,当未提供 startIndex
参数时,它默认为 0(zero)
。
您得到的回复必须类似于:
{
"startIndex": 0,
"totalResults": 120,
"entry": [
....
]
}
这里,
totalResults
是专辑总数,不是返回的专辑数。
您可以使用 totalResults
计算页数并准备分页。
更新:
opensocial.DataRequest.MediaItemsField.MAX 字段可能在制作 MediaItemRequests 时使用,但是制作专辑列表时应使用 AlbumRequest。
您可以限制在此管道中获取的专辑数量
<os:AlbumsRequest key='myalbums' userid="@viewer" groupid="@self" />
通过添加
count
参数,如:
<os:AlbumsRequest key='myalbums' userid="@viewer" groupid="@self" count="5"/>
此相册请求最多可获取查看者 5 个相册。 结果 json 将是:
{
"startIndex": 0,
"totalResults": ....here total number of albums....,
"entry": [
....here at max 5 albums....
]
}
这里您可以拨打
myalbums.totalResults
获取专辑总数。