3

現在、FB SDK 3.5 を使用して IOS アプリを作成中です。

次のコードを使用して、「ユーザー所有オブジェクト」を作成できるアプリを作成しました。

    NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
    object.provisionedForPost = YES;        
    object[@"type"] = @"fbltest:Highscore";
    object[@"title"] = @"New high score";
    object[@"privacy"] = @"EVERYONE";
    object[@"data"][@"leaderboard"] = @"0";
    object[@"data"][@"score"] = @"266";

    [FBRequestConnection startForPostOpenGraphObject:object
                                   completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
     {
        // DO STUFF HERE
     }];

オブジェクト デバッガーでオブジェクトをテストしましたが、すべて問題ないようです。次のコードを使用して、ユーザー オブジェクトのリストを取得することもできます。

    FBRequestConnection* connection = [[FBRequestConnection alloc] init];
        FBRequest* request = [[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:@"me/objects/fbltest:highscore"];

        [connection addRequest:request
             completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
            {
                // DO STUFF HERE
             }];
    [connection start];

ここでやりたいことは、ユーザーのフレンド オブジェクトのリストを取得することです。最初にフレンドのリストを取得し、次のパスを使用してそこにあるオブジェクトのリストを取得します: "/objects/fbltest:highscore"。これは何も返しませんでした。

次に、次のオープン グラフ パスを使用して Facebook オープン グラフをクエリしてみましたが、成功しませんでした: "me/friends/fbltest:highscore "me/friends/objects/fbltest:highscore"

いくつかのメモ: テスト環境では、お互いに友達である 3 人のテスト ユーザーを使用しています。Facebook APP の「サンドボックス環境」パラメーターを無効にしました。

友人の自己ホスト型オブジェクトを読み取ることが可能であることを確認するだけであっても、どんな助けも大歓迎です。

4

1 に答える 1

2

私は同じことをしようとしてきました (友人のユーザー所有のオブジェクトを照会する) が、間接的な方法でしか管理できませんでした。/<userid>/objects/myapp:score私も同様に動作することを期待していましたが、データが返されませんでした。

ただし、機能するのは、オブジェクトではなく、友達のカスタム アクションを照会することです。例: /<userid>/myapp:actiontype.

アクションから、関連付けられたオブジェクトを取得できます。として単純にクエリできます/<objectid>

これは、作成するすべてのスコア オブジェクトに関連付けられたアクションを作成する必要があることを意味するため、物事を行うための回り道のように思えます。たとえオブジェクトをデータ ストレージに使用しているだけであってもです。ユーザーのタイムラインに表示したくない場合は、no_feed_storyプロパティを設定して非表示にすることができます。次に、ユーザーが明示的にスコアを共有したい場合は、追加の「通常の」アクション タイプを使用できますか? (オブジェクトに対する複数のアクションは、1 つだけが表示されている限り問題ないと思います)。

og.postsユーザー所有のオブジェクトを作成するたびに作成される暗黙的なアクションもあるようです。そのため、それによってクエリを実行することもできますが、オブジェクト タイプ専用の「投稿」をフィルタリングする必要があります。

于 2013-05-06T15:13:53.480 に答える