我是否可以在没有用户互动的情况下对iOS应用程序进行身份验证,以便能够向Facebook请求页面数据?
例如,在音乐家的应用程序中,我希望能够为音乐家的艺术家页面(包括墙贴)提出Facebook请求。然后,我可以获取其页面的原始数据并为其设置样式,但是我喜欢。这不需要用户登录,并且会话身份验证将由应用程序本身使用嵌入式凭据异步完成。
我想使用SDK,但我认为这需要手动OAuth访问令牌请求和帖子。
感谢您的帮助!
更新:
为了澄清,我很好奇以下可能性:
1)应用程序使用烘焙到应用程序中的凭据加载并请求OAuth访问令牌 2)然后,App可以向Facebook请求来自预定页面馈送的馈送数据 3)这些都不需要任何用户交互或将应用程序反弹到移动游猎等等。
答案 0 :(得分:1)
我真的不明白你想要什么,但可以在没有用户互动的情况下进行身份验证:
如果请求需要身份验证才能生成 连接,有效凭证必须已在 NSURLCredentialStorage,或必须作为所请求的一部分提供 URL。如果凭据不可用或无法进行身份验证,则 URL加载系统通过发送NSURLProtocol子类来响应 处理连接a continueWithoutCredentialForAuthenticationChallenge:message。
有一种身份验证方式:
- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}
答案 1 :(得分:1)
好的 - 我想出来了。觉得很傻,我不知道你能做到这一点。
您可以为app id&amp ;;申请访问令牌。秘密。这将允许您发出需要访问令牌的公共数据请求。
然后,只需在Feed请求中使用返回的访问令牌:
https://graph.facebook.com/musicpage/feed?access_token=ACCESS_TOKEN
如果这是针对TOS或弃用的 - 请告诉我。现在这似乎是解决方案!