私のアプリにGoogleコンタクトAPIを統合する際に問題がたくさんあります。基本的に私が必要とするのは、ユーザーに許可を要求し、ユーザーのすべてのGmail連絡先(名前と電子メール)を取得することです。参考のためSwift 3アプリにGoogle Contacts APIを統合
、Googleの連絡先APIである場合、これは次のとおりです。 https://developers.google.com/google-apps/contacts/v3/
私は既にGoogleサインインが正しく実装しており、ユーザーがそのように認証されました。 401は、認証されていません、私は本当にないですので明白です:
func retrieveContacts(){
let clientID = "blabla-5blablablabla9gisc.apps.googleusercontent.com"
let clientSecret = "blablablaDXEwmgilOXgVsQ"
//How do I ask permission to the user to look at their contacts?
let url2 = URL(string: "https://www.googleapis.com/auth/contacts.readonly")
let user = GIDSignIn.sharedInstance().currentUser
//let name = user?.profile.name
let email = user?.profile.email
var url = URL(string:"")
if let aEmail = email{
url = URL(string: "https://www.google.com/m8/feeds/contacts/\(aEmail)/full")
print(email)
}
let task = URLSession.shared.dataTask(with: url!) { data, response, error in
guard error == nil else {
print(error)
return
}
guard let data = data else {
print("Data is empty")
return
}
print(response)
}
task.resume()
}
は今、私はエラーコードを取得しています:私は本当に一緒にすべてのピースを置くのに苦労しています
、ここで私がこれまでしているものですどこにでもユーザに許可を要求します。
Google apiから連絡先をすぐに取得できますか?もしそうなら、私を案内してください。 – Dee
このライブラリを見てください。これが私の助けになりました。 https://github.com/jackfreeman/GoogleContactsAppSwift –
よろしいですか。ありがとうございました。 n.by.nで提案されているコードを実行できますが、「JSONはエラーのためシリアル化できませんでした: 正しい形式でないため、データを読み取れませんでした。 – Dee