[英]Flex Facebook application doesn't show on webserver
我目前正在学习使用 Flex 从这里制作 facebook 应用程序: http://www.adobe.com/devnet/facebook/articles/flex_fbgraph_pt3.ZFC35FDC70D5FC69D2569883A82EZ2
我已经完成了“将应用程序上传到您的 web 服务器”部分中的第 6 步,即通过 FTP 上传 bin-debug 文件夹中的 Flex 文件并运行它,但在 407A9IZ 上显示的 Z26CAE7718C32180A6D 上的应用程序不使用。 这是我上传文件的地方: http://cobacoba.netai.net/facebook/denishere/
我找不到问题,是因为虚拟主机还是什么?
看起来您的 web 服务器或域当前被阻止或重定向到其他地方。 这很可能是由您的 web 主机完成的。 您应该联系他们并询问您网站的任何问题。
我确实使用相同的链接来开发 ma facebook-flex 界面,
我正在和你分享代码,
do use atleast flex3.5, if u r working on flex3, this will not work, and yes, developing an air application is much easier, that doesn't even need web support, but developing a web app requires, requires a web server ,您将无法在本地机器上检查 facebook 应用程序,您必须将其上传到 web 服务器,然后才能正常工作
我有这个代码,那行得通,
<mx:Script> <![CDATA[ import com.Global; import com.PMSocial; import com.adobe.serialization.json.JSON; import com.facebook.graph.Facebook;
import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.controls.ToolTip; import mx.managers.ToolTipManager;
protected var topURL:String=ExternalInterface.call('top.location.toString'); [Bindable]private var facebookPhotoAlbums:ArrayCollection; [Bindable]private var facebookPhotos:ArrayCollection;
private var btn1Info:String="Click this button to log in to Facebook"; private var btn2Info:String="Logout"; private var btn3Info:String="Press this button, to get \n Album List in Drop down..";
protected function initApp():void {
Facebook.init("Your application ID",loginHandler); }
protected function loginHandler(success:Object,fail:Object):void {
if(success){
Facebook.api("/me",getMeHandler);
//userImg.source=Facebook.getImageUrl(success.uid,"small");
Facebook.api("/me/statuses",getStatusHandler);
}
else if(!success && !topURL){
ExternalInterface.call("redirect","207419415939415", "user_birthday,read_stream,publish_stream","http://apps.facebook.com/flex-connectivity/");
}
}
/* protected function loginHandler(success:Object,fail:Object):void {
if(success)
{
//currentState="loggedin";
Facebook.api("/me",getMeHandler);
//userImg.source=Facebook.getImageUrl(success.uid,"small");
Facebook.api("/me/statuses",getStatusHandler);
} } */
/* protected function loginHandler(success:Object,fail:Object):void {
if(success)
{
currentState="loggedin";
Facebook.api("/me",getMeHandler);
userImg.source=FacebookDesktop.getImageUrl(success.uid,"small");
FacebookDesktop.api("/me/statuses",getStatusHandler);
} } */
protected function login():void {
Facebook.login(loginHandler,{perms:"user_birthday,user_photos,read_stream, publish_stream"});
//Facebook.login(loginHandler,["user_birthday","read_stream","publish_stream"]); } public function logout():void {
Facebook.logout(logoutHandler);
//currentState="loggedout"; }
protected function logoutHandler(response:Object):void {
}
protected function getMeHandler(result:Object,fail:Object):void {
nameLbl.text = result.name;
//birthdayLbl.text=result.birthday;
getPhotoAlbums(); }
protected function getStatusHandler(result:Object, fail:Object):void {
//trace(result[0].message);
//statusLbl.text = result[0].message; } protected function submitPost():void {
//Facebook.api("/me/feed",submitPostHandler,{message:statusInput.text}, "POST"); }
protected function submitPostHandler(result:Object,fail:Object):void {
//statusInput.text="";
//Facebook.api("/me/statuses",getStatusHandler); }
private function getPhotoAlbums():void {
var fql:String = "select name, aid from album where owner = me()";
Facebook.fqlQuery(fql, handleGetAlbumsResponse); }
private function handleGetAlbumsResponse(albums:Object, fail:Object):void {
//Alert.show('handleGetAlbumsResponse : '+(albums==null)?"empty":"non-empty");
if (albums != null)
facebookPhotoAlbums = new ArrayCollection(albums as Array);
else
Alert.show("Error in albums"); }
private function showSelectedAlbum():void {
var fql:String = "select pid,src_big, src_small from photo where aid = '" + albumCombo.selectedItem.aid + "'";
Facebook.fqlQuery(fql, handleGetPhotosResponse); }
private function handleGetPhotosResponse(photos:Object, fail:Object):void {
if (photos != null)
{
facebookPhotos = new ArrayCollection(photos as Array);
//Alert.show('facebookPhotos : \n\n\n'+JSON.encode(facebookPhotos));
Global.facebookArr.removeAll();
for each(var obj:Object in facebookPhotos)
{
var o:Object = new Object();
o.imgCatId = "facebook";
o.imgSubCatId = obj.pid;
o.small = obj.src_small;
o.large = obj.src_big;
o.maxW = 400; //default size is 400 X 500
o.maxH = 500;
o.available = false;
Global.facebookArr.addItem(o);
}
imagePage.dataProvider = Global.facebookArr;
}
else
Alert.show("Error in photos"); }
public var myTip:ToolTip; private function createBigTip(str:String,event:MouseEvent):void {
var p:Point = new Point();
p = event.target.localToGlobal(new Point(event.target.parent.x,event.target.parent.y));
myTip = ToolTipManager.createToolTip(str,p.x+40,p.y+30,'errorTipBelow') as ToolTip;
//myTip.setStyle("styleName", "errors"); }
private function destroyBigTip():void {
if(myTip)
ToolTipManager.destroyToolTip(myTip); }
private var exixts:Boolean;
private function submitFromFB(event:MouseEvent):void {
for each(var obj:Object in Global.facebookArr)
{
exixts = false;
if(obj.available)
{
if(Global.ImageArr.length>0)
{
for each(var o:Object in Global.ImageArr)
{
if(obj.imgSubCatId == o.imgSubCatId)
{
exixts = true;
break;
}
}
}
if(!exixts)
Global.ImageArr.addItemAt(obj,0);
}
}
logout();
PMSocial.remove(); }
]]> </mx:Script>
<mx:HBox borderStyle="solid" width="100%" verticalAlign="middle"> <mx:Button label="Login" click="login()" rollOver="createBigTip(btn1Info,event)" rollOut="destroyBigTip()" styleName="socialBtn" width="125" height="25"/> <mx:Button label="Logout" click="logout()" rollOver="createBigTip(btn2Info,event)" rollOut="destroyBigTip()" styleName="socialBtn" width="125" height="25"/> <mx:Spacer width="100%"/> <mx:Label text="Welcome, " fontSize="13" fontFamily="Droid Sans"/> <mx:Label id="nameLbl" text="Guest" fontSize="13" fontFamily="Droid Sans"/> <!--<mx:Button label="3. Browse Photos" click="getPhotoAlbums()" rollOver="createBigTip(btn3Info,event)" rollOut="destroyBigTip()"/>--> <!--<mx:Image id="userImg" top="171" width="50" height="50" left="10"/>--> </mx:HBox> <!--<mx:Label id="status" text="Status Message : Please log in" />--> <mx:ComboBox id="albumCombo" textAlign="left" styleName="ComboBox11" prompt="Select Album" dataProvider="{facebookPhotoAlbums}" change="showSelectedAlbum()" labelField="name"/> <mx:VBox height="100%" width="100%" paddingTop="3" verticalGap="0"> <mx:Label id="l1" text="Check images you want to upload, Please click on images you want to use" fontFamily="Droid Sans" fontSize="13"/> <mx:TileList id="imagePage" height="100%" width="100%"
columnCount="5"
selectionColor="0xFFFFFF" rollOverColor="0xFFFFFF"
rowHeight="150" borderStyle="solid" paddingBottom="-4"> <mx:itemRenderer>
<mx:Component>
<view:ManageClipart/>
</mx:Component> </mx:itemRenderer> </mx:TileList> <mx:Canvas width="100%"> <mx:Button id="submit" right="0" label="Submit" styleName="yesbtn"
useHandCursor="true" buttonMode="true" click="submitFromFB(event)"/> </mx:Canvas>
</mx:VBox> </mx:VBox>
希望它会有所帮助,中音这个 api 真的给了很多折磨,哈哈,一切顺利
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.