希望这不是一个非常无聊的问题,我问:) -
我正在尝试使用AS3 Flash API设置我的应用程序(游戏类别应用程序)的得分参数(我看到它是围绕JS Api的包装)但我一直得到“(#15)此方法必须是使用app access_token调用“错误,我也尝试使用Graph API资源管理器进行测试调用,结果是相同的。(使用应用程序生成的访问令牌和复制/粘贴的访问令牌)
我搜索了权限表,并为验证过程设置了 publish_actions 和 user_games_activity 。
完美地完成工作(我可以在没有任何问题的情况下收到基本信息也得分信息,但它只是一个空数组可能因为它没有设置)发布似乎是罪魁祸首
我想知道我是否做错了什么(比如我的服务器端需要额外的身份验证过程)
如果你们有任何想法,请帮助这变得非常令人沮丧
提前致谢:D
答案 0 :(得分:2)
终于找到了解决方案。
这是正确的AS3代码:
var data:Object = new Object();
data.score = 285;
data.access_token = APP_ACCESS_TOKEN;
var requestType:String = "POST";
Facebook.api( Facebook.getAuthResponse().uid + "/scores/" , handlePostScoreComplete, data, requestType);
您必须使用PHP或其他客户端SDK获取应用访问令牌,而不是Javascript SDK,因为它需要应用密钥。
因此,在PHP中,您必须获取访问令牌,然后才能将其传递给Flash:
<?php
$APPLICATION_ID = YOUR_APP_ID;
$APPLICATION_SECRET = YOUR_APP_SECRET;
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $APPLICATION_ID .
"&client_secret=" . $APPLICATION_SECRET .
"&grant_type=client_credentials";
$app_token = file_get_contents($token_url);
?>