今回の記事はSwiftでGoogleDriveAPIを利用する際に発生した「Insufficient Permission: Request had insufficient authentication scopes.」というエラーの解消法に関しての記事です。エラーで困っている方は是非参考にして見てください。
「Insufficient Permission: Request had insufficient authentication scopes.」の原因
アプリ内で下記コードでログインを行なっている場所があると思います。
GIDSignIn.sharedInstance()?.signIn()
ここでログインを行うことができていない場合はログインの実装が悪いと思われます。
ログインできており、無事にメールアドレスの返答が返ってきている場合はスコープが足りていないことが原因と考えられます。
「Insufficient Permission: Request had insufficient authentication scopes.」の解決策
スコープを追加する方法として下記のようにスコープを追加できます。
// 追加
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/drive")
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/drive.file")
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/drive.appdata")
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/drive.scripts")
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/drive.metadata")
GIDSignIn.sharedInstance()?.signIn()
これを行なった後Googleにログインをすることで、その後のファイル取得などで「Insufficient Permission: Request had insufficient authentication scopes.」のエラーを回避できます。
ではこれで今回の記事は終了です。他にも多数のSwift関連の記事を記載しているので是非参考にして見て下さい。
コメント