我正在使用Tom Grill的gdx-facebook扩展程序将Facebook整合到我的游戏中,效果很好。
但是我找不到创建游戏请求的方法。我可以获得一个邀请朋友的列表,但这只有在您想要创建自定义列表时才有用,并且只返回您朋友的一小部分。
我希望所有朋友,并能够向他们发送游戏请求,是否可能?如果是,我如何获得所有朋友的列表以及如何向他们发送游戏请求?
来源:
FB-dev:https://developers.facebook.com/docs/games/services/gamerequests
答案 0 :(得分:2)
获取所有可邀请的朋友是这样的:
仅当您的Facebook应用是游戏时才有效。
GDXFacebookGraphRequest request = new GDXFacebookGraphRequest().setNode("me/invitable_friends").useCurrentAccessToken();
这将为您提供25个与您的应用无关的朋友的列表。要获得孔列表,您必须使用“分页”。
JsonResult包含一个朋友列表,最后是分页信息。看起来像这样:
{
"data": [
{
"id": "AVlH4xqLBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"name": "Friends Name",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/pxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
},
.................
],
"paging": {
"cursors": {
"before": "QVZAuZATBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"after": "QVZAtbmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"previous": "https://graph.facebook.com/v2.6/12xxxxxxxxxxxxxx/invitable_friends?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxx&limit=25&after=QVZAuZxxxxxxxxxxxxxxx"
}
}
要获得下一个25位朋友,您必须发送另一个请求:
GDXFacebookGraphRequest request = new GDXFacebookGraphRequest().setNode("me/invitable_friends").useCurrentAccessToken();
request.putField("after", "QVZAtbmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
有一个名为“限制”的未记录字段,似乎可以让您通过一个请求获得更多朋友。请注意,Facebook可能会在未经通知的情况下更改/删除。
request.putField("limit", "1000");
<强> GameRequest:强>
https://github.com/TomGrill/gdx-facebook/wiki/7.-Game-Requests
GDXFacebookGameRequest request = new GDXFacebookGameRequest();
request.setMessage("Come on play this game with me!");
Array<String> recipientIds = new Array<String>();
recipientIds.add("AVlH4xqLBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
request.setRecipients(recipientIds);
gdxFacebook.gameRequest(request);