2

我是新手,但我们在 Flash CS 5.5 中使用 Air for Android 创建了一个新的 Android 原生应用程序。我们有一个工作应用程序,并希望在最后一个屏幕上,添加一个“分享到 Facebook”按钮,将用户的结果分享到他们的 Facebook 墙/时间线。我已经搜索和搜索,但我能找到的要么是用 Java 编写的,而不是 Actionscript 3,要么是直接从应用程序更新状态。我们只想从我们的应用程序发送一个预定义的片段(用户结果)。有人可以指出我正确的方向吗?

4

1 回答 1

0

有一个用于此的 API,具有适用于 AIR 桌面、AIR 移动和 Web 应用程序的变体。它开始受到 Facebook 和 Adob​​e 的正式支持,尽管我不确定它是否仍然是:

http://code.google.com/p/facebook-actionscript-api/

有很多关于如何使用它的文档。您需要在 facebook 上创建一个应用程序,这样您才能正确识别自己。将 facebook 开发者应用程序添加到您的 FB 帐户,然后在此处查看:

https://developers.facebook.com/

share to wall call 的基本内容如下所示:

import com.facebook.graph.data.FacebookAuthResponse;
import com.facebook.graph.Facebook;

function initializeFacebook()
{
    Facebook.init("YOUR APP ID", onFacebookInit);
}

var interval:int = -1;

function onFacebookInit(success:Object, fail:Object):void 
{
    if (success) 
    {
        post();
    }
    else
    {
        var opts:Object = { scope:"publish_stream" };
        Facebook.login(null, opts);
        // In theory you should get a post back when logged in. 
        // In practice this often fails, and it's better to poll for an access token.
        interval = setInterval(pollForLoggedIn, 500);
    }
}

function pollForLoggedIn():void 
{
    if (Facebook.getAuthResponse().accessToken)
    {
        clearInterval(interval);
        post();
    }
}

function post():void 
{
    var auth:FacebookAuthResponse = Facebook.getAuthResponse();
    var token:String = auth.accessToken;
    var user:String = auth.uid;
    var values:Object = 
    { 
        access_token: token,
        name: "TITLE OF YOUR POST",
        picture: "OPTIONAL THUMBNAIL PATH",
        link:"OPTIONAL LINK",  
        description: "OPTIONAL APP DESCRIPTION", 
        message: "BODY OF POST"
    };
Facebook.api("/" + user + "/feed", handleSubmitFeed, values, URLRequestMethod.POST); 
}

function handleSubmitFeed(success:Object, fail:Object):void 
{
    // Done.
}
于 2012-08-22T07:48:49.893 回答