我正在尝试使用restfb从facebook中拉取用户喜欢的东西。迭代器的docs say支持分页,但这不适用于我的Scala代码。我认为这与javaConversions
暗示有关,但我不确定。scala中使用的Java迭代器无法正常工作
这里是我的代码:
import com.restfb.types.{Page, Photo, User}
import com.restfb.{Parameter, Version, DefaultFacebookClient}
import collection.JavaConversions._
class Facebook(accessToken: String) {
val facebookClient = new DefaultFacebookClient(
accessToken,
Version.VERSION_2_4)
def getInterests = {
val likes = facebookClient.fetchConnection("me/likes", classOf[Page],
Parameter.`with`("fields", "id,name,category"))
likes.getData.map(like => s"id=${like.getId}, name=${like.getName} -- ")
}
}
我试图改变likes.getData
到likes.getData.iterator
但我得到一个错误org.json4s.package$MappingException: Classes defined in method bodies are not supported.
什么我需要做的,使迭代器由likes.getData
页面结果,以便返回我可以映射所有这些?
这是因为一个“连接”是一个页面,并在该页面上找到了一些项目(在你的情况下,一个“Like”)所以你需要迭代页面,然后通过每页项目。 – Norbert