这几天我一直在研究 Facebook 游戏的内置 OpenGraph 动作和对象。我注意到某些事情。
- 当我们使用游戏类别访问我们的应用程序页面时,Facebook 会自动将“您玩过[应用程序名称]”放在您的活动列表中
- 有些游戏可以玩而不是玩。
- 有些游戏可以发布一个“games.win”类型的 OpenGraph 动作,也可以发布一个“games.match”类型的对象
- 在 Graph API Explorer 中,如果您键入
/me/games.plays
,/me/games.plays
,/me/games.passes
您会注意到这些内置操作和对象存在
然后在我的研究中,以下是我采取的步骤。
首先我玩了一个游戏“SongPop”,直到应用程序创建了 games.win 动作和 games.match 对象。
然后我获取活动或 opengraph ID,然后尝试使用 Facebook 调试器对其进行调试。我意识到这个动作和对象的存在。
然后我决定创建自己的“games.match”对象,可以使用 Facebook 对象调试器正确调试。(来自 SongPop 比赛的样本,报告是你打败了某人)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# #######: http://ogp.me/ns/fb/#######">
<meta property="og:site_name" content="#######">
<meta property="fb:app_id" content="343622035704062" />
<meta property="og:url" content="http://#######/facebook/opengraph/gamematch/match_1.html">
<meta property="og:title" content="90's Alternative Challenge">
<meta property="og:image" content="http://ccmq-samples.s3.amazonaws.com/songpop/images/facebook/opengraph/90sAlternative.png">
<meta property="og:description" content="Who is the best at guessing 90's Alternative songs?">
<meta property="og:type" content="games.match">
<meta property="games:players" content="facebook-userid">
<meta property="games:players" content="facebook-userid">
</head>
<body>
</body>
</html>
我也只是意识到,为了使这个 OpenGraph 对象工作,你必须在 URL 中有“gamematch”关键字。
然后我尝试使用 POST 方法使用 Graph API Explorer 重新创建操作 URL 是/me/games.win
,参数是{"match": "url to the open graph object"}
然后 Graph API Explorer 返回这个结果
{
"error": {
"message": "(#3) App must be on whitelist",
"type": "OAuthException",
"code": 3
}
}
如果我使用 SongPop 用户访问令牌(在 chrome 上的应用程序页面中获取令牌),则操作成功并且将重新创建所述操作。
所以我想问的问题很少。
- 是否有关于此 games.win 动作、games.match 对象的知识库书面文档。
- (#3) 应用程序必须在白名单上错误,有谁知道如何将我们的应用程序列入白名单,还是在 OpenGraph 操作提交和审核后应用程序将被标记在白名单中(尚未进入流程)
我已被分配开发需要此 OpenGraph 操作的此类游戏。我一直在看 Facebook 网站、博客和 stackoverflow.com,但没有任何线索。
请指教。