
[英]Unable to access public_profile permission in IOS(Facebook SDK)
[英]Facebook iOS SDK login error (Invalid Scopes: public_profile, openid.)
我在尝试使用 iOS Facebook SDK 登录时收到以下错误:
Invalid Scopes: public_profile, openid.
我按照此处的说明进行了设置:
信息.plist
<plist version="1.0">
<dict>
...
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string></string>
<key>CFBundleURLSchemes</key>
<array>
<string>GOOGLE_URL_SCHEME</string>
<string>fbMY_FB_APP_ID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>MY_FB_APP_ID</string>
<key>FacebookClientToken</key>
<string>MY_FB_CLIENT_TOEN</string>
<key>FacebookDisplayName</key>
<string>MY_FB_APP_NAME</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbauth2</string>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
</array>
</dict>
</plist>
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions )
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]
) -> Bool {
return ApplicationDelegate.shared.application(app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])
}
登录片段
let loginManager = LoginManager()
loginManager.logIn(permissions: ["public_profile"], from: self) { result, error in
if let error = error {
print("FB Error: \(error)")
} else if let result = result, result.isCancelled {
print("FB Cancelled")
} else {
print("FB Logged In")
}
}
我在 iOS 16.2 使用 facebook-ios-sdk 版本 15.1.0。 FB app 在 live 和 development 模式下也会出现同样的错误。 我在模拟器和设备上收到相同的错误。 使用FB app JS库时,我可以成功登录web。 我相信我已正确按照说明进行操作。 我错过了什么?
编辑:设置截图
编辑:
所以我刚刚从 facebook-ios-sdk 下载了这个示例。 将我的 FB App Id 添加到 FacebookAppID 字段和 plist 中的 URL Schemes。 将 FB 客户端令牌添加到 plist 并将包标识符更新为 Facebook 应用程序中列出的标识符,但在运行示例时出现相同的错误。 这到底是怎么回事? 问题肯定出在 Facebook 应用程序设置中,但是在哪里? 我在 .net 上的任何地方都找不到这个问题的报告。 肯定有人以前见过这个。
我想到了。 我的 facebook 应用程序产品中缺少 facebook 登录名。 偶然发现的,现在可以登录成功了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.