Opensocial v9:有没有办法只从orkut请求某个字段

时间:2010-10-19 22:12:15

标签: request paging opensocial

我正在尝试从我的应用程序中编写一个寻呼机,它需要获取专辑的总数。我可以从orkut获取所有专辑,但它会降低传输速率,因为我只需要总数而不是专辑中的数据。

opensocial v9是否有功能我可以查看观众有多少张专辑?或者我只能获取相册的ID,以便最大限度地缩短转移时间

1 个答案:

答案 0 :(得分:0)

Opensocial通过为开发人员提供向DataRequests(和其他*请求)添加startIndexcount参数的能力来支持分页。如果开发人员没有提供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来获取相册总数。