2015-11-17 56 views
1

我正在研究Unity中的應用程序,並且我們正在Facebook上使用Facebook上的項目分配以獲取社交功能。我們完全(併成功)在Unity 4.x中與Facebook的Unity SDK v6和api v2.3進行了整合。 iOS已經迫使我們的手,我們現在正在將所有內容升級到現代:Unity 5,Facebook Unity 7和API 2.5。大部分轉換已經完成,但是一個特定的Facebook功能在Android上仍然存在:創建對象調用以發送給可邀請的朋友。一切工作在iOS和編輯器。這是打破的電話:Unity Facebook創建對象請求返回403

var formDict = new Dictionary<string, string>() 
{ 
    {"title", "AskForLife"}, 
    {"type", "woogy_gemjunction:life"}, 
    {"app_id", FB.AppId.ToString()} 
}; 
var formData = new Dictionary<string, string>() { { "object", Facebook.MiniJSON.Json.Serialize(formDict) } }; 
FB.API("/me/objects/woogy_gemjunction:life", HttpMethod.POST, CreateFBLifeCallback, formData); 

回調非常簡單。當上面的代碼運行時,我們得到「對象創建調用時出錯!403:禁止」。

public void CreateFBLifeCallback(IGraphResult result) 
{ 
    if (!string.IsNullOrEmpty(result.Error)) 
    { 
     Debug.Log("Error during object create call! " + result.Error); 
    } 
    else if (FB.IsLoggedIn) 
    { 
     <<this code is never reached>> 
    } 
} 

這正常工作在其他平臺上,這似乎表明,請求不被格式錯誤,我們可以成功登錄和審查,並在Android中接收到的消息作出迴應,所以我不認爲這是訪問令牌問題。 「生命」圖形對象非常簡單,從Object繼承並且不添加額外的屬性:og:type和og:title是唯一必需的字段,但這些都是在請求中提供的。提示或懷疑?謝謝。

+0

您可以攔截髮生此錯誤的設備上的請求。 – derabbink

回答

0

它從未變得完全清楚,但問題似乎出現在我們的測試帳戶和設備中。我手動登錄到Facebook測試帳戶,可能沒有授予適當的應用程序權限。此代碼在任何正常情況下都能正常工作。