“CUSTOM_APP_EVENTS”活动需要参数“custom_events”或“custom_events_file”

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

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应用程序的最新版本,并validation了我在AppDelegate中对Facebook SDK的调用是最新的。 为了validation,我发送了openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:消息给FBSession

这似乎很好,可能是一个Facebook的错误(我将要提交一个错误),但也有可能是我做错了任何帮助/见解将不胜感激!

我暂时解决了这个问题,增加了一个调用[FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly]; 在我的AppDelegate,但我更喜欢更全面的解决scheme。

3/24/2014编辑

这不再是3.8的复制(也不是在3.13复制,我也testing过)。 好像Facebook一定已经在服务器上解决了这个问题。

  1. 去developers.facebook.com
  2. 从标题栏中,点击“应用程序”
  3. select你正在使用的应用程序,然后点击“编辑应用程序”
  4. 在左侧的导航栏上,您会看到一个“设置”标签
  5. 在“设置”下点击“高级”标签并向下滚动到“见解”部分
  6. 将“安装见解”和“Mobile SDK Insights”更改为“已禁用”

我正在运行FB SDK 3.9,仍然得到这个错误。

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

在AppDelegate :: appDidFinishLaunchingWithOptions中添加这一行

 [FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly]; 

在Facebook应用程序控制台的“设置”>“高级”下,尝试将“安装见解”和“移动SDK见解”设置为禁用(除非您需要将其用于营销目的)

我得到了同样的错误,升级到FacebookSDK 3.9修复了我。 我不必禁用见解。