FBRequestConnection startForCustomAudienceThirdPartyID 可以单独使用吗?
Posted
技术标签:
【中文标题】FBRequestConnection startForCustomAudienceThirdPartyID 可以单独使用吗?【英文标题】:Can FBRequestConnection startForCustomAudienceThirdPartyID be used on its own? 【发布时间】:2013-12-11 20:54:29 【问题描述】:我想获取 Facebook 的应用用户 ID,如下所述: https://developers.facebook.com/docs/ads-for-apps/custom-audiences-for-mobile-apps/
他们给出的代码sn-p是:
[FBRequestConnection startForCustomAudienceThirdPartyID:nil
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
NSString *id = error ? nil : [result objectForKey:@"custom_audience_third_party_id"];
// Stash off this id, send it to your server, etc. Use later to construct
// a custom audience. A result of 'nil' means that either the user can't be
// identified, or they've limited ad tracking via ios 6.
];
这总是为我返回错误 400。像this 这样的答案表明它需要用作更大代码段的一部分,但 Facebook 页面上没有提到这一点。
我可以只使用上面的 sn-p,还是需要围绕它实现一些东西?
【问题讨论】:
【参考方案1】:我是从 FB 开发者页面获得的:
讨论: 如果 或 为 nil,此方法将引发异常。当 pList 包含 appID 或明确设置时,appID 不会为 nil。 clientToken 需要通过 设置。
.....
请先检查以上条件。按文档说明
startForCustomAudienceThirdPartyID: -> should actually point to the current FBSession
【讨论】:
我没有看到异常,它只是返回错误 400。我尝试调用 [FBSettings setClientToken:XXXX] 但没有任何区别。 400 是 html 异常代码。您应该检查您的 FB appID 是否配置正确......它应该在 info.plist / Custom IOS Properties 中。在你的应用程序委托中也应该有这样的东西: -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation BOOL ret = [FBSession.activeSession handleOpenURL:url]; .... 如果您有一个独立的应用程序,您需要通过 FB 开发人员页面创建应用程序获得的 AppID,Facebook 需要您对您的 IOS 捆绑 ID 进行某种验证注册您的 IOS 应用程序。如果我没记错的话,Oauth 应用程序需要客户端令牌,您的用户使用他们的 Facebook 凭据登录您的应用程序 - 令牌指的是活动的 FB 会话。 所以我的问题“我可以只使用上面的 sn-p”的答案是“不,您的用户需要登录 Facebook”。这就是我一直在寻找的。span> 是的,如果这是您的应用程序应该做的事情。【参考方案2】:在会话创建后立即执行以下操作:[FBSession setActiveSession:session];
在这里回答:Facebook iOS SDK 3.1: "Error: HTTP status code: 400"
【讨论】:
你还没有回答我的问题,所以我已经让它更明显了。以上是关于FBRequestConnection startForCustomAudienceThirdPartyID 可以单独使用吗?的主要内容,如果未能解决你的问题,请参考以下文章
FBRequestConnection startForCustomAudienceThirdPartyID 可以单独使用吗?
FBRequestConnection startForMyFriendsWithCompletionHandler 不带所有已安装应用程序的朋友 - iOS
FBRequestConnection startForCustomAudienceThirdPartyID:nil 适用于模拟器,而不适用于设备