AS3 Flash api未设置游戏类别应用商店 - 访问令牌错误

时间:2011-09-20 22:22:04

标签: authentication facebook-as3-api

希望这不是一个非常无聊的问题,我问:) -

我正在尝试使用AS3 Flash API设置我的应用程序(游戏类别应用程序)的得分参数(我看到它是围绕JS Api的包装)但我一直得到“(#15)此方法必须是使用app access_token调用“错误,我也尝试使用Graph API资源管理器进行测试调用,结果是相同的。(使用应用程序生成的访问令牌和复制/粘贴的访问令牌)

我搜索了权限表,并为验证过程设置了 publish_actions user_games_activity

完美地完成工作(我可以在没有任何问题的情况下收到基本信息也得分信息,但它只是一个空数组可能因为它没有设置)发布似乎是罪魁祸首

我想知道我是否做错了什么(比如我的服务器端需要额外的身份验证过程)

如果你们有任何想法,请帮助这变得非常令人沮丧

提前致谢:D

1 个答案:

答案 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);

?>