'CUSTOM_APP_EVENTS'活动需要参数'custom_events'或'custom_events_file'

时间:2013-10-01 21:58:31

标签: ios facebook facebook-ios-sdk facebook-insights

从Facebook iOS SDK版本3.7.1升级到3.8后,当我通过Facebook对我的应用进行身份验证时,我开始在控制台日志中看到以下内容:

FBSDKLog: Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xc5a9cf0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 100;
            message = "(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity";
            type = OAuthException;
        };
    };
    code = 400;
    headers =     (
                {
            name = "Access-Control-Allow-Origin";
            value = "*";
        },
                {
            name = "Cache-Control";
            value = "no-store";
        },
                {
            name = Connection;
            value = close;
        },
                {
            name = "Content-Type";
            value = "text/javascript; charset=UTF-8";
        },
                {
            name = Expires;
            value = "Sat, 01 Jan 2000 00:00:00 GMT";
        },
                {
            name = Pragma;
            value = "no-cache";
        },
                {
            name = "WWW-Authenticate";
            value = "OAuth \"Facebook Platform\" \"invalid_request\" \"(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity\"";
        },
                {
            name = "x-fb-loadmon";
            value = "0,2.76,90";
        }
    );
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x12e5e9c0, state: FBSessionStateOpen, loginHandler: 0x12e58630, appID:..., urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xd884b00>, expirationDate:..., refreshDate:..., attemptedRefreshDate:..., permissions:...>}

我已经下载了最新版本的Facebook iOS应用程序,并验证了我在AppDelegate中对Facebook SDK的调用是最新的。要进行身份验证,我会将openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:消息发送给FBSession

看起来好像这可能是Facebook的错误(我要向他们提交错误),但也有可能我做错了 - 任何帮助/见解都会受到赞赏!

我通过在AppDelegate中添加对[FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly];的调用暂时解决了这个问题,但我更倾向于使用更全面的解决方案。

3/24/2014编辑

这不再是3.8的重复版(它也没有在3.13上重复,我也测试过)。似乎Facebook必须在服务器上修复此问题。

4 个答案:

答案 0 :(得分:9)

  1. 转到developers.facebook.com
  2. 从标题栏中点击“应用”
  3. 选择您当前正在处理的应用,然后点击“修改应用”
  4. 在左侧导航栏中,您会看到“设置”标签
  5. 在“设置”下,点击“高级”标签,然后向下滚动到“数据洞察”部分
  6. 将“安装见解”和“移动SDK见解”更改为“已停用”

答案 1 :(得分:2)

我正在运行FB SDK 3.9,但仍然出现此错误。

我发现这是一种解决方法。

在AppDelegate :: appDidFinishLaunchingWithOptions中添加此行

[FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly];

答案 2 :(得分:0)

在设置&gt;下在Facebook应用程序控制台中高级尝试将“安装见解”和“移动SDK洞察”设置为禁用(除非您出于营销目的而需要它)

答案 3 :(得分:0)

我得到了同样的错误,升级到FacebookSDK 3.9为我修复了它。我没有必要禁用见解。