2

私はこれに慣れていませんが、Flash CS 5.5 で Air for Android を使用して新しい Android ネイティブ アプリを作成しました。動作中のアプリがあり、最後の画面に、ユーザーの結果を Facebook ウォール/タイムラインに共有する「Share to Facebook」ボタンを追加したいと考えています。検索して検索しましたが、見つけることができるのは、Actionscript 3 ではなく Java で記述されているか、アプリから直接ステータスを更新することだけです。アプリから定義済みのスニペット (ユーザー結果) のみを送信します。誰かが私を正しい方向に向けることができますか??

4

1 に答える 1

0

このためのAPIがあり、AIRデスクトップ、AIRモバイル、およびWebアプリケーション用のバリアントがあります。FacebookとAdobeの両方によって公式にサポートされて生活を始めましたが、それがまだサポートされているかどうかはわかりません。

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

使い方についてはたくさんのドキュメントがあります。自分を正しく識別できるように、Facebookでアプリを作成する必要があります。Facebook開発者アプリをFBアカウントに追加して、ここを参照してください。

https://developers.facebook.com/

シェアツーウォールコールの基本は次のようになります。

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 に答える