0

現在、モバイル AS3 ゲームへの Facebook の統合に取り組んでいます。友達の写真をダウンロードしていますが、これは問題なく機能します。

    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 」プロパティを取得する方法がわかりません。

このプロパティにアクセスしようとしました

     response[i].picture.is_silhouette

しかし、それは一見未定義ですが、ユーザー名、IDなどにアクセスしようとすると. このように、次のように機能します。

     response[i].id

等々...

私の質問は、この構造内の picture.is_silhouette プロパティにアクセスするにはどうすればよいですか?

4

1 に答える 1

2

「friend_id」が友人のIDである「friend_id/picture」への呼び出しでgetImageUrl、メソッドをメソッドに変更してみてください。json 応答を取得するには、必ず「?redirect=false」を追加してください。api

これが私のメソッド呼び出しです:

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

于 2013-04-30T17:17:36.003 に答える