【发布时间】:2014-09-11 15:44:27
【问题描述】:
我一直在构建一个用于 facebook unity sdk 的社交管理器类,而不是 prime[31] 版本,只是你可以从 facebook 获得的版本:https://developers.facebook.com/docs/unity/downloads
我正在构建它以使用 Unity3D 引擎同时用于 Android 和 IOS。
在我尝试与经理实现 App-request 之前,一切都很顺利。
我收到一个“错误 400 错误请求”,除了错误消息之外没有太多其他内容,所以我希望这里的任何人都可以帮助我解决这个问题:
调用应用请求的代码:
void RequestAskfor(string requestTitle, string requestMessage, string objectID, string Quantity)
{
string[] friendIDs = new string[CurrentUser.FriendList.Count];
for (int i = 0; i < friendIDs.Length; i++)
{
friendIDs[i] = CurrentUser.FriendList[i].UserID;
}
string data = "{\"type\":\"AskFor\",\"item\":\"{\"objectID\":\"" + objectID + ",\"quantity\":\"" + Quantity + "}}";
FB.AppRequest(requestMessage, Facebook.OGActionType.AskFor, objectID, null, null, null, data, requestTitle, RequestCallback);
}
这是应该测试它是否有效的 gui 按钮:
if(GUI.Button(new Rect(300, 300, 300, 300), "Apprequest Test"))
{
RequestAskfor("Giv mig mad", "Giiiiv miiiig maaaaaad", "food", "1");
}
这是我用来验证应用程序的权限:
if (GUI.Button(new Rect(100, 200, 125, 35), "Login!"))
{
Login("email,publish_actions,public_profile,user_friends,invitable_friends");
}
上面的所有代码都有效(在一定程度上),我什至能够获得“邀请请求屏幕”
但是,当我在邀请请求屏幕上按 OK 时,我收到此错误消息和来自 API 的外部调用:
错误信息:
400 Bad Request
UnityEngine.Debug:LogError(Object)
FbDebug:Error(String)
Facebook.FallbackData:JSFallback(String)
Facebook.AsyncRequestDialogPost:CallbackWithErrorHandling(FBResult)
Facebook.<Start>c__Iterator0:MoveNext()
外部调用:(有点太大,无法正确格式化)
External Call: fbUi("{\"message\":\"Giiiiv
miiiigmaaaaaad\",\"action_type\":\"askfor\",\"
object_id\":\"food\",\"data\":\"{\\\"type\\\":\\\"AskFor\\\",\\\"item\\\":\\\"
{\\\"objectID\\\":\\\"food,\\\"quantity\\\":\\\"1}}\",\"title\":\"Giv mig
mad\",\"app_id\":\"339275729572840\",\"locale\":\"en_US\",
\"method\":\"apprequests\"}", "1");
UnityEngine.Application:ExternalCall(String, Object[])
Facebook.CanvasFacebook:JSFallbackUI(String, Dictionary`2, FacebookDelegate)
Facebook.FallbackData:JSFallback(String)
Facebook.AsyncRequestDialogPost:CallbackWithErrorHandling(FBResult)
Facebook.<Start>c__Iterator0:MoveNext()
如果您想仔细查看代码,请查看项目中仅有的两个脚本的链接:https://www.dropbox.com/s/5htdry9gd4bhwip/SocialManager.zip?dl=0
我一直在检查 FB.AppRequest 方法的文档,并试图找到有类似问题的人,但到目前为止我还没有能够解决这个问题(显然)。
所有其他代码都可以正常工作,但目前困扰我的只是 AppRequests。
可能还应该提到,这段代码还没有完成,看起来很草率。但是提前感谢你们可以给我的任何帮助!
【问题讨论】:
-
对我来说也一样。回调不会调用,但会发送请求。
标签: facebook facebook-graph-api unity3d facebook-unity-sdk facebook-app-requests