AS3 Facebook移动图api - 用户piture is_silhouette

时间:2013-04-30 17:05:54

标签: facebook actionscript-3 facebook-graph-api air

我目前正在将facebook集成到我的移动AS3游戏中。我正在下载朋友的照片,效果很好:

    public function updateView(id:String, data:Object):void {
        FacebookMobile.api("/me/friends/",getfellaz);
        startLoading();

    }

    private function getfellaz(response:Object, fail:Object):void {     
        var a:int = response.length;
        arr = new Array();
        arr2 = new Array();
        var tempArrIDs:Array = new Array
        var k:int = 0
        for (var i:int = 0; i< a; i++ ) {
            arr.push(FacebookMobile.getImageUrl(response[i].id, 'large'));
            tempArrIDs.push(response[i].id);
        }
        arrLength = arr.length-1;
        for(var x:int = 0; x<12; x++) {
            var r:int = dejMiTyRandomy();
            randomUserPicArray.push(arr[r]);
            randomUserPicArray.push(arr[r]);
            uids.push(tempArrIDs[r]);
        }
        loadThatShit(0);
    }

然后我将图片绘制到位图并与他们进一步合作......这与我的问题无关,我只是无法弄清楚如何从用户(在这种情况下为响应对象)对象中获取“is_silhouette”属性。 / p>

我试图访问此属性

     response[i].picture.is_silhouette

但这显然是未定义的,但是当我尝试访问用户名,ID等时。这样,它就像这样工作:

     response[i].id

依旧......

我的问题是,如何在此构造中访问picture.is_silhouette属性?

1 个答案:

答案 0 :(得分:2)

尝试将getImageUrl方法更改为api方法,并调用“friend_id / picture”,其中“friend_id”是朋友的ID。 请确保附加“?redirect = false”以获取json响应。

这是与我的方法调用:

https://graph.facebook.com/20001655/picture?redirect=false

这是逻辑(完全书面/未经测试):

public var hasSilhouette:Boolean = false;

...

hasSilhouette = false;
checkHasImage(response[i].id)

if(hasSilhouette){
...
} else {
...
}

public function checkHasImage(user_id:int):void
{
  FacebookMobile.api(user_id+"/picture", checkHasImageResponse);
}

public function checkhasImageResponse(result:Object, fail:Object):void
{
  hasSilhouette = result.is_silhouette;
}

这将返回如下的JSON响应:

{
  "data": {
    "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/somenumbers.jpg", 
    "is_silhouette": false
  }
}

is_silhouette不是“FacebookMobile.getImageUrl(response [i] .id,...)”方法的响应的一部分。

我相信使用这个Facebook记录的方法会有更好的运气:(https://developers.facebook.com/docs/reference/api/#pictures

将来,我会通过输出“响应”对象来处理测试。这将向您展示您所获得的一切。在这种情况下,“响应”来自 / me / friends / ,并且没有对“图片”对象的引用。

最后,在Graph API Explorer中测试Graph API调用很有帮助:https://developers.facebook.com/tools/explorer