实现自定义朋友选择器时400 Bad Request

时间:2014-05-29 23:27:27

标签: facebook facebook-graph-api unity3d facebook-unity-sdk

我正在尝试实现一个自定义多个朋友选择器来邀请用户访问我的游戏。我得到了调用Graph API调用InvitableFriends的用户列表,并为其创建了一个UI。

用户选择相应的用户后,我会收到用户的所有邀请令牌,并按如下方式拨打应用请求:

public void InviteFriends(string message, string title, FacebookDelegate callback, string[] to = null, string data = "")
    {
        if (FB.IsLoggedIn) 
        {
            FB.AppRequest (message,
                  to,
                  "",
                  null,
                  null,
                  data,
                  title,
                  callback);
        } 
}

但是当调用时,我收到以下错误:

400 Bad Request
UnityEngine.Debug:LogError(Object)
FbDebug:Error(String)
Facebook.FallbackData:JSFallback(String)
Facebook.AsyncRequestDialogPost:CallbackWithErrorHandling(FBResult)
Facebook.<Start>c__Iterator0:MoveNext()

永远不会调用我的回调函数,所以我看不出错误是什么。

我正在使用Unity 4.3&amp; Facebook SDK 5.1

感谢您的帮助!

编辑:我非常有信心问题是在TO参数中我传递了Invitable Graph调用给我的邀请令牌,而不是Ids。

我使用可调用令牌测试了Friendsmash的InteractiveConsole.cs示例,但它也失败了。我如何获得邀请朋友的ids?

2 个答案:

答案 0 :(得分:0)

只需检查网址请求即可。它可能有些不对劲。 要么 转到https://developers.facebook.com/apps/ {app-id} / app-details / 在“应用信息”部分中,选择正确的类别和子类别。

答案 1 :(得分:0)

我遇到了类似的问题。想一想在使用可邀请的api之前必须调用FB.init()。没有它你会得到一个“400 Bad Request”

我将旧的访问令牌保留在playerprefs中,只是再次检查它的有效性,而不是实际初始化FB以节省加载时间。但最终我不得不做FB.init()