0

好吧,所以我的最后一个问题真的很模糊,我没有尽可能多地描述它。基本上,这就是我想要发生的事情:1)获取用户朋友列表 2)在任何类型的容器中显示它们。我去查看图形 API 文档,但考虑到我是一个视觉学习者,这并没有真正帮助我。为了获得移动应用程序的基本功能,我遵循了一些教程,这些教程让我在应用程序中实现其他更复杂的功能时陷入了困境。我将在此处列出移动应用程序的链接:第 1部分,第 2 部分. 这些教程对我帮助很大。但是当它们结束并且我不得不开始自己实现功能时,我有点停滞不前。我一直在寻找和寻找如何做到这一点,但实际上找不到任何有用的东西,因为它们都是用于桌面应用程序的。我还查看了 Facebook API 提供的示例代码以供参考。但是没有一个适用于 flex Mobile,而且您似乎还必须编写与他们完全相同的代码才能使这些功能正常工作。好吧。所以再一次,我只想能够有一个朋友列表来显示。我会担心以后得到朋友的详细信息。我想我可能能够做到这一点。另外,我将发布我所有的代码,因为我现在绝不会保护它。我会说一件事。我绝不会要求有人为我编写代码。我只是一个非常依赖视觉的学习者。但我认为,如果我能以更简单的方式解释实现特性的过程,我将能够照顾好我自己的。这也带来了另一个问题。因为我是一个视觉人。使用 flash 代替 Flash Builder 会更适合我吗?无论如何。你不必回答这个问题。在我写这个问题的时候突然出现了。如果你对我的代码有任何建设性的批评,我很乐意。最后一件事(我很抱歉漫无边际)如果你想给我发邮件,你可以给我发邮件到 Shandan_Spencer@live.com。我在这里先向您的帮助表示感谢!但我认为,如果我能以更简单的方式解释实现特性的过程,我将能够照顾好我自己的。这也带来了另一个问题。因为我是一个视觉人。使用 flash 代替 Flash Builder 会更适合我吗?无论如何。你不必回答这个问题。在我写这个问题的时候突然出现了。如果你对我的代码有任何建设性的批评,我很乐意。最后一件事(我很抱歉漫无边际)如果你想给我发邮件,你可以给我发邮件到 Shandan_Spencer@live.com。我在这里先向您的帮助表示感谢!但我认为,如果我能以更简单的方式解释实现特性的过程,我将能够照顾好我自己的。这也带来了另一个问题。因为我是一个视觉人。使用 flash 代替 Flash Builder 会更适合我吗?无论如何。你不必回答这个问题。在我写这个问题的时候突然出现了。如果你对我的代码有任何建设性的批评,我很乐意。最后一件事(我很抱歉漫无边际)如果你想给我发邮件,你可以给我发邮件到 Shandan_Spencer@live.com。我在这里先向您的帮助表示感谢!在我写这个问题的时候突然出现了。如果你对我的代码有任何建设性的批评,我很乐意。最后一件事(我很抱歉漫无边际)如果你想给我发邮件,你可以给我发邮件到 Shandan_Spencer@live.com。我在这里先向您的帮助表示感谢!在我写这个问题的时候突然出现了。如果你对我的代码有任何建设性的批评,我很乐意。最后一件事(我很抱歉漫无边际)如果你想给我发邮件,你可以给我发邮件到 Shandan_Spencer@live.com。我在这里先向您的帮助表示感谢!

这是代码:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           applicationDPI="160" creationComplete="application1_creationCompleteHandler(event)"
           currentState="loggedout"
           width.loggedin="392" height.loggedin="442">
<fx:Style source="beta.css"/>
<fx:Script>
    <![CDATA[
        import com.facebook.graph.FacebookMobile;
        import com.facebook.graph.controls.Distractor;
        import com.facebook.graph.core.FacebookURLDefaults;
        import com.facebook.graph.data.Batch;
        import com.facebook.graph.net.FacebookRequest;
        import com.facebook.graph.utils.FacebookDataUtils;

        import mx.collections.ArrayList;
        import mx.core.UIComponent;
        import mx.events.FlexEvent;


        public var permissions:Array = ["user_photos","user_birthday","read_stream","publish_stream","read_friendslists","manage_friendslist"]; 
        protected function application1_creationCompleteHandler(event:FlexEvent):void
        {
            FacebookMobile.init("APP_ID", onLogin)
        }

        protected function submitPost():void
        {
            FacebookMobile.api("/me/feed",submitPostHandler,{message:statusInput.text}, "POST");
        }

        protected function submitPostHandler(result:Object,fail:Object):void
        {
            statusInput.text="";
            FacebookMobile.api("/me/statuses",getStatusHandler);
        }

        protected function getStatusHandler(postsuccess:Object, fail:Object):void
        {
            lblStatus.text=postsuccess[0].message;
        }


        protected function login():void{
            var facebookWebView:StageWebView = new StageWebView();
            facebookWebView.viewPort = new Rectangle(0,0,stage.width, stage.height-100);
            FacebookMobile.login(onLogin, this.stage,permissions, facebookWebView);
        }

        protected function onLogin(success:Object, fail:Object):void{
            if(success){
                currentState="loggedin";
                nameLbl.text=success.user.name;
                imgUser.source=FacebookMobile.getImageUrl(success.uid,"small");
                birthdayLbl.text=success.user.birthday;
                FacebookMobile.api("me/statuses",getStatusHandler);
            }
        }

    ]]>
</fx:Script>

<s:states>
    <s:State name="loggedin"/>
    <s:State name="loggedout"/>
</s:states>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button id="loginoutBtn" x="244" y="13" label="Log In"
          x.loggedin="228" y.loggedin="10" label.loggedin="Log out"
          click.loggedout="login()"/>
<s:Label id="nameLbl" includeIn="loggedin" x="67" y="11" width="97" height="43"/>
<s:Image id="imgUser" includeIn="loggedin" x="8" y="9" width="50"/>
<s:Label id="birthdayLbl" includeIn="loggedin" x="66" y="86" width="96"/>
<s:Label id="lblStatus" includeIn="loggedin" x="10" y="135" width="154" height="58" />
<s:TextInput id="statusInput" includeIn="loggedin" x="10" y="230" height="40"/>
<s:Button includeIn="loggedin" x="172" y="278" width="115" height="32" label="Submit"
          click="submitPost()"/>

<s:Button x="10" y="147" width="157" label="Post photo" includeIn="loggedin"
          x.loggedin="10" y.loggedin="278" width.loggedin="113" height.loggedin="32"/>
<s:List includeIn="loggedin" x="170" y="61" width="212" height="161" itemRenderer="friendsRender"></s:List>

![设计视图][3]

4

2 回答 2

0

@山丹斯宾塞

请下载 Graph API 1.8.1 示例:

http://code.google.com/p/facebook-actionscript-api/downloads/detail?name=GraphAPI_Examples_1_8_1.zip

它有:

FriendsList_flash

FriendsList_flex

FriendsListMobile_Flash

http://code.google.com/p/facebook-actionscript-api/source/browse/trunk/examples/?r=342

我想这对你会有帮助。

于 2012-07-29T20:48:44.547 回答
0

假设您有 as3 的 facebook mobile,您可以使用以下功能:

FacebookMobile.api("/me/friends",onApiCallFriends);

protected function onApiCallFriends(response:Object, fail:Object):void
{
if (response)
{   
      var friends:Array = response as Array;
    }
}

应该是这样的。

于 2013-04-25T12:14:50.057 回答