私はグラフのAPIを使用してFacebookのログインから自分の名前とメールを返します。私のコードが間違っているかどうかはわからないFacebookのグラフリクエストは名前を返していますがメールは返信していません。
["id": 1653899307960705, "name": *my name removed for privacy*]
Optional(*my name removed for privacy*)
nil
:
func getUserInfo() {
let params = ["fields" : "email, name"]
let graphRequest = GraphRequest(graphPath: "me", parameters: params)
graphRequest.start {
(urlResponse, requestResult) in
switch requestResult {
case .failed(let error):
print("error in graph request:", error)
break
case .success(let graphResponse):
if let responseDictionary = graphResponse.dictionaryValue {
print(responseDictionary)
if let name = responseDictionary["name"] {
self.nameLabel.text = "Logged in as: \n\(name)"
}
if let email = responseDictionary["email"] {
self.emailLabel.text = "Your email is: \n\(email)"
} else {
self.emailLabel.text = "Your email is: "
}
print(responseDictionary["name"])
print(responseDictionary["email"])
}
}
}
}
これは私のコンソールに出力するものです:名前が戻って罰金来るが、メールはnilである - これは私が使用するコードですそれはちょうどバグです - 私は私のパラメータとして電子メールと名前の両方を指定しますが、あなたが見ることができるように、名前だけが戻ってきます。誰がなぜこれが起こっているのか知っていますか? FacebookのグラフAPIは、電子メールを提供していないことを
電子メールの許可をユーザーに聞いたことがありますか? – WizKid