繁体   English   中英

Facebook iOS SDK 登录错误(无效范围:public_profile、openid。)

[英]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。 我相信我已正确按照说明进行操作。 我错过了什么?

编辑:设置截图

FB 屏幕截图 1 FB 截图 2 FB 截图 3 FB 截图 4 FB 截图 5

编辑:

所以我刚刚从 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM