好的,所以我最后一个问题非常模糊,我没有尽可能多地描述它。基本上,这是我想要发生的事情:1)获取用户朋友列表2)在任何类型的容器中显示它们。我去看图API文档,但这并不能真正帮助我,因为我是一个视觉学习者。为了获得移动应用程序的基本功能,我遵循了教程,这些教程将我留在了悬崖架上,只要将其他更复杂的功能部署到应用程序中。我将在此处列出指向移动应用程序的链接:Part 1,Part 2。这些教程帮助了我很多。但是当他们结束了,我不得不开始执行我自己的功能时,我有点停滞不前。我一直在寻找和寻找如何做到这一点,但却找不到任何有助于桌面应用程序的事情。我还查看了Facebook API供参考的示例代码。但是没有一个适用于flex Mobile,而且您似乎也必须编写与您的代码完全相同的代码才能使这些功能正常工作。好的。所以再一次,我只想让一个朋友的名单出现。我会担心以后得到朋友的细节。我想我可以管理它。此外,我将发布我的所有代码,因为我现在无法保护它。我会说一件事。我不是要求某人为我写代码。我只是一个非常依赖视觉的学习者。但我认为,如果我能够通过更简单的庄园解释实现功能的过程,我将能够照顾好自己的功能。这也提出了另一个问题。因为我是一个视觉人。会使用Flash而不是Flash Builder更适合我吗? 反正。你不必回答。当我写这个问题时弹出。如果你对我的代码有任何建设性的批评,我都会公开。最后一件事(我很抱歉漫不经心)如果您想发邮件给我,可以发邮件给我[email protected]。我在这里先向您的帮助表示感谢!使用Flash builder获取Facebook移动应用程序的朋友列表
下面是代码:
<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]