私はFacebook Graph API for AS3を使用しています。私はFlashゲームを持っていて、それをFacebookにアップロードすることです。すべてがOKです(Facebookアプリケーションに入るとswfは完全に表示され、FacebookのユーザーID、ユーザー名、スコアを投稿できます私は試合を自動的にユーザーのフィードに投稿するよう意図していますが、多くのテストをしたあと、そのメソッドが実行されていないことがわかりました。Facebook.initメソッドが実行されていません
ここは、ユーザーのニュースフィードにスコアを投稿しようとするの.asファイルのサンプルです:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Stage;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequestMethod;
import com.facebook.graph.Facebook;
import com.adobe.serialization.json.JSON;
import flash.utils.setTimeout;
import flash.net.navigateToURL;
public class GameOver extends MovieClip
{
private var user_id : String = "";
private var user_name : String = "";
// these are the api and secret keys you should be used to
var api_key:String="MY_API_KEY";
function GameOver()
{
var newscore = Main.scorenum;
finalScore.text = newscore;
getFacebookID();
Facebook.init(api_key);
var opts:Object = {scope:"publish_stream, email"};
Facebook.login(onLogin,opts);
}
function onLogin(session:Object, fail:Object):void
{
if(session!=null)
{
post();
}
else
{
trace("Login Failed");
}
}
public function post():void
{
var params:Object = new Object;
//params.access_token = Facebook.getAuthResponse().accessToken;
params.message = 'Hello World';
params.caption = "Hello World";
params.description = "Hello World";
params.picture="http://1.bp.blogspot.com/-0Hn3AjTJj6U/TZHe3ragXGI/AAAAAAAAA1M/_SBk3dx61EE/s1600/med_funny-cat.jpg";
params.name="Hello World";
params.link="http://1.bp.blogspot.com/-0Hn3AjTJj6U/TZHe3ragXGI/AAAAAAAAA1M/_SBk3dx61EE/s1600/med_funny-cat.jpg";
var methodInput = 'feed';
Facebook.api("/"+user_id+"/feed",submitPostHandler,params,"POST");
}
private function submitPostHandler(result:Object, fail:Object):void {
trace("\n\nRESULT:\n" + JSON.encode(result));
puntajeFinal.text = "RESULT:" + JSON.encode(result) + user_name;
}
そして、ここで.swfファイルが掲載されたPHPファイルです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<div id="fb-root"></div>
<div id="chimpInvader">
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
<div id="flashContent">
<!--<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="700">
<param name="SRC" value="chimpInvader.swf" />
<embed src="chimpInvader.swf" width="600" height="700" />
</object>-->
</div>
<script>
FB.init({appId : '336824736350079', status : true, cookie : true, xfbml : true });
FB.Canvas.setAutoResize(false);
FB.Canvas.setSize({ height: 720, width: 600 });
swfobject.embedSWF("chimpInvader.swf", "chimpInvader", "600", "700", "11.1", null, null, null, null);
</script>
</body>
</html>
あなたが私を助けてくれることを願っています。私の卑劣な英語を申し訳ありません。