web-dev-qa-db-ja.com

com.facebook.sdk.coreエラー8

これは何よりも有益です。 iOSアプリをデバッグするときにログインプロンプト(別名safari)にアクセスしようとすると、エラーコード8で何も見つかりませんでした。アプリでFacebookにログインボタンを押した後、サファリを開き、アプリのログインページにダンプします。このエラーは、権限の配列が原因でした。明らかにエラーを投げていた許可「public_profile」のスペルが「public profile」でした。そのため、com.facebook.sdk.coreエラー8が発生した場合は、許可がタイプ修正されていることを確認してください。

それが誰かを助けることを願っています。

23
blackops

許可が正しく入力されていることを確認してください

   func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {

            if error == nil {
                println("login complete")
                self.performSegueWithIdentifier("showLogin", sender: self)

            }else{

                println(error.localizedDescription)
    //com.facebook.sdk.core error 8.
            }
        }
9
blackops

私の場合、Facebookアプリのadmins/developers/testersロールのいずれにもまだ追加されていないFacebookアカウントを使用していました。

4
michael

私の場合、このエラーは、アプリ自体のFacebook設定で設定された不適切なバンドルIDが原因で発生しました。 Facebookの「バンドルID」では大文字と小文字が区別されます。Info.plistでは製品名は大文字でしたが、fb設定では小文字です。

4
Wladek Surala

私の場合、数時間のデバッグを行った後、APIを使用していることがわかりました。

func application(application: UIApplication,
                 openURL url: NSURL, options: [String: AnyObject]) -> Bool {
    if #available(iOS 9.0, *) {
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: options)
    } else {
        // Fallback on earlier versions
    }
    return true
}

これはiOS 9では非推奨です。そこで、私は以下を使用しました。

func application(application: UIApplication,
                 openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
    FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
    return true
}

それは私のために働いた。これが誰かの時間を節約することを願っています。

3

おとこ!!!私の場合、このエラーの原因となったパラメーターの「バイオ」でした。 Facebookは「bio」キーを「about」に変更しました。したがって、パラメータで「bio」を使用する場合は、「about」に変更する必要があります

うわぁ!!!

3
hyd00

私の場合、バージョンが間違っていました。 バージョン: "v2.7"の代わりに、バージョン: "2.7"を使用しました

2

私の場合は、fields配列にnameを2回リストしたためです。 2回要求されたフィールドに適用されると仮定します。

1
Damien

私の場合、FacebookにログインせずにFacebook IDを取得しようとしました。 Facebookにログインしていることを確認してください。

let accessToken = FBSDKAccessToken.current()
    if accessToken != nil {

        self.getCurrentUserFbId()
        print("LoggedIn")

    } else {

        print("Not loggedIn")
        self.loginIntoFacebook()
    }

これが誰にとっても役立つことを願っています。

0
Vinoth Vino

私の場合、誕生日、友人リストが原因でした。それらを削除すると動作し始めました。

0
LittleBoat

偶然にも、Facebookのアクセストークンの有効期限が切れていることがわかりました。誰かがUserDefaultsにアクセストークンを保存し、後で再利用することにしました。もちろん、2か月以上経過したすべてのトークンは期限切れになりました。

0
Vitalii

私の場合、Facebook Ads APIで遊んでいて、フィールドを取得しようとしましたが、名前が間違っていました。

洞察力{date_start、date_stop}の代わりに、洞察力{date_start、date_end}がありました。

詳細 こちら

それが誰にも役立つことを願っています。

0
Paul Berg

私の場合、GraphRequestが原因でした。

エラー応答は

"com.facebook.sdk:FBSDKErrorDeveloperMessageKey" = "文字5:email%2Cname%2Cgender%2Cpicture"での構文エラー\ "\"%\ "。\ではなく文字列の終わりが必要です"; "com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey" = 0; "com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode" = 2500; "com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey" = 400; "com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey" = {​​body = {error = {code = 2500; "fbtrace_id" = AFEUYbcYP39; message = "文字5の構文エラー\"\"%\"ではなく、文字列の終わりが予想されます。 ":email%2Cname%2Cgender%2Cpicture";タイプ= OAuthException; }; };コード= 400; };

それに関する問題は https://github.com/facebook/facebook-Swift-sdk/issues/309

0
Nik Kov

同じ問題がありました。それは、Facebookのログイン機能を実装していなかったためです。それを追加した後、ログインして問題が解決しました。

0
Suhaib