我想知道在我创建的应用程序上是否有可能,因为它需要 facebook 登录,如果用户已经安装了 facebook 应用程序并通过 iOS 的集成 facebook 功能登录,我如何获取提供的电子邮件和密码这样用户就不必手动输入登录信息。这可能只是获取该登录信息吗?我在哪里可以实现这一目标?
3 回答
对于初学者来说,facebook 不会只给你一个用户的电子邮件和密码,你必须要他们的电子邮件,他们永远不会给你他们的密码。Facebook 所做的是在用户授权您的应用程序后为您提供 access_token,这实际上是让他们登录。但请注意,他们不会像您一样将用户登录到您的应用程序(即使 Facebook 在电话上)仍然必须要求用户授权您的应用。
我建议您专门查看 Facebook 开发人员网站
https://developers.facebook.com/docs/ios/ios-sdk-tutorial/
它将引导您完成一个示例 Facebook 集成 iOS 应用程序,其中有一个关于身份验证的特定部分
https://developers.facebook.com/docs/ios/ios-sdk-tutorial/authenticate/
然后,如果您卡在特定区域,请在此处使用代码片段提出另一个更详细的问题。
祝你好运
在您的应用程序中使用 Facebook sdk。您将无法“获取”用户名和密码。身份验证将为您提供“是”或“否”。以下是来自 Facebook 的示例:
https://developers.facebook.com/docs/ios/ios-sdk-tutorial/
您需要通过 Facebook 注册您的应用以获得开发者 ID。
如果您正在运行 >=ios6,则与 Facebook 和 Twitter 进行了内置集成,因此如果您从那里登录,您可以非常轻松地从您的应用程序中获取访问权限,并且一切顺利。
所以像这样访问facebook:
// Request access to the Facebook accounts
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error){
if (granted) {//granted facebook account access
NSArray *accounts = [accountStore accountsWithAccountType:accountType];
// Check if there's at least one facebook account
if (accounts.count > 0){
ACAccount *fbAccount = [accounts objectAtIndex:0];
//perform your stuff
//get facebook timeline, post etc.
}
}];
是的,如果您打算获取用户名,请发送电子邮件,您不能仅通过某种方法获取该用户名。您必须通过调用 facebook 明确要求提供电子邮件和其他用户个人资料信息。密码永远无法访问。