2013-05-02 32 views
3

我目前在寫使用FB SDK 3.5的iOS應用程序的進展情況。Facebook開放圖 - 找朋友「的用戶所擁有的對象」

我已經創建了一個應用程序,可以創建一個「用戶所擁有的對象」使用下面的代碼:

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的Open Graph有沒有成功的以下開放圖上的路徑: 「我/朋友/ fbltest:高分 」我/朋友/對象/ fbltest:高分「 」 我/朋友上限= 10個&對象/ fbltest:高分」

的一些注意事項: 對於我使用誰都是朋友互相3個測試用戶的測試環境 我已禁用‘的Facebook應用程序沙箱環境’參數

任何幫助將不勝感激,哪怕它只是一個CONFI可以閱讀朋友自己託管的對象。

+0

目前想知道同樣的事情。如果我找到任何東西,我會告訴你。 – brynbodayle 2013-05-02 19:04:14

回答

2

我一直在試圖做同樣的事情(查詢朋友的用戶所擁有的對象),但只管理其間接的方式。我預計/<userid>/objects/myapp:score也可以工作,但我沒有收到任何數據。

什麼工作,不過,在查詢你的朋友自定義操作,而不是對象。例如: /<userid>/myapp:actiontype

從動作,就可以得到相關的對象; ID,然後你可以簡單地查詢爲/<objectid>

這似乎像是在做事情的一種迂迴的方式,因爲它意味着你將需要爲你創建的每一個得分對象相關聯的動作,即使你僅僅使用用於數據存儲的對象。如果你不想讓它進入用戶的時間軸,你可以設置no_feed_story屬性來隱藏它。那麼如果用戶明確地想要分享一個分數,那麼可能會有一個額外的「正常」動作類型? (我認爲只要一個人看得見,對一個物體的多個動作都可以)。

似乎還有一種隱含的og.posts動作,無論何時創建用戶擁有的對象時都會創建,因此您也可以通過該動作進行查詢,但是必須過濾專門用於您的對象類型的「帖子」 。

+0

我想補充一點,你可以在「/ me/friends?fields = myapp:actiontype」的同時使用「/ me/friends?fields」 – Henry 2014-10-07 12:04:56

相關問題