我正在尝试从我的应用程序中编写一个寻呼机,该寻呼机需要获取专辑总数。我可以从 orkut 中获取所有专辑,但它会减慢传输速度,因为我只需要总数而不是专辑中的数据。
opensocial v9 是否有可以检查观众有多少专辑的功能?或者我可能只获取专辑的 ID,这样我可以最大限度地减少传输时间
我正在尝试从我的应用程序中编写一个寻呼机,该寻呼机需要获取专辑总数。我可以从 orkut 中获取所有专辑,但它会减慢传输速度,因为我只需要总数而不是专辑中的数据。
opensocial v9 是否有可以检查观众有多少专辑的功能?或者我可能只获取专辑的 ID,这样我可以最大限度地减少传输时间
Opensocial 通过为开发人员提供向 DataRequests(和其他 *Requests)添加参数的能力来支持startIndex
分页count
。如果开发人员不提供count
参数,则其默认值为20
,并且正如您猜测的那样,当未提供startIndex
参数时,它默认为0(zero)
.
你得到的回应必须是这样的:
{
"startIndex": 0,
"totalResults": 120,
"entry": [
....
]
}
这里,totalResults
是专辑总数,而不是返回的专辑数。您可以使用它totalResults
来计算您的页数并准备您的分页。
更新:
在制作 MediaItemRequests 时可能使用了 opensocial.DataRequest.MediaItemsField.MAX 字段,但是应该使用专辑列表 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
。