- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在我的应用程序中成功实现了 facebook 登录,但我无法查询/检索用户的电子邮件地址。
我有以下代码:
import UIKit
class testViewController: UIViewController, FBSDKLoginButtonDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if (FBSDKAccessToken.currentAccessToken() != nil)
{
// User is already logged in, do work such as go to next view controller.
// Or Show Logout Button
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email", "user_friends"]
loginView.delegate = self
self.returnUserData()
}
else
{
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email", "user_friends"]
loginView.delegate = self
}
}
// Facebook Delegate Methods
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
println("User Logged In")
if ((error) != nil)
{
// Process error
}
else if result.isCancelled {
// Handle cancellations
}
else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if result.grantedPermissions.contains("email")
{
// Do work
}
self.returnUserData()
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
println("User Logged Out")
}
func returnUserData() {
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
println("Error: \(error)")
}
else
{
println("fetched user: \(result)")
let userName : NSString = result.valueForKey("name") as! NSString
println("User Name is: \(userName)")
let userEmail : NSString = result.valueForKey("email") as! NSString
println("User Email is: \(userEmail)")
}
})
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
以及 println 输出:
fetched user: {
id = 808101565906152;
name = "Marcelo Pontes Machado";
}
当我尝试显示电子邮件时,我得到了一个空值。
我认为代码是正确的,也许是我错过导入的一些 SDK?
最佳答案
将你想要从 Graph 请求中返回的字段放入你的参数中
FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"id,email,name,picture.width(480).height(480)"]).startWithCompletionHandler({
因为 Graph API 有时可能只返回最少量的信息,除非另有要求。
关于facebook - 检索电子邮件 FacebookSDK 和 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31570295/
我是一名 android 开发人员,我是 Xcode 和 Objective-c 的新手。 我在我的应用程序中使用 parse.com,我正在尝试添加使用面部登录的功能,但是,ParseFaceb
我已经安装了最新版本的phonegap-facebook-plugin但是当我构建项目时,我收到以下错误消息。我尝试了许多在 stackoverflow 和其他网站上提到的解决方案,但没有得到积极的结
我只是通过这个文档在 ios 项目中添加 facebookSDK.framework : Getting Started with the Facebook SDK for iOS 我已经按照它成功地
您好,我正在尝试将 Parse 包含到我的 iOS 应用程序中,但不幸的是,iOS 9 中进行了很多更改。 我已经下载了 Parse 入门项目并启动并运行了 Parse,并且还在我的项目中包含了 Fa
我正在使用 Parse 和 Facebook,但遇到以下 2 个错误: 'FacebookSDK/FacebookSDK.h' file not found Failed to import brid
似乎是个老问题,但我尝试了一些解决方案但没有奏效。我怀疑这是因为旧的 Facebook 框架不再工作了。我有一个 Objective-C使用 FacebookSDK 的项目.我复制了FacebookS
所以我已经下载了 facebookSDK pkg,并且已经将它安装到我的文档文件夹中。但是我在文件夹中找不到 facebookSDK.framework,我的 iOS 项目需要它。我在哪里可以找到它?
我需要将 Phonegap App 从 2.3 移植到 3.5 。 我使用 Phonegap 3.5 创建了一个新的干净项目。添加了iOS平台并添加了插件。我添加了 Plugin Page 中所示的
将我的目标和编译 SDK 版本升级到 27 后,出现“无法解析符号 FacebookSdk”。我正在使用 com.facebook.android:facebook-android-sdk:4.26.
我只是想将 facebook sdk 安装到我的 phonegap android 项目。我跟进了 > https://github.com/phonegap/phonegap-facebook-pl
我正在使用最后一个 FBSDK(使用 swift) // MARK: sign in with facebook func signInWithFacebook() { if (FBSDKAc
我有使用 FBSDK 模块的自定义类。我正在尝试对此类方法实现单元测试。但它无法编译并返回错误 'No such module FBSDKCoreKit' 我已经检查了该模块以供测试目标使用,但没有任
我有一个带有两个按钮的简单 View Controller 。第一个是我使用 获得的官方 Facebook 登录按钮 let loginButton = FBSDKLoginButton() 顺便问一
当我运行我的应用程序时出现以下错误: ld:警告:找不到选项“-F/Users/qlxmac01/Desktop/iPhone Apps from Google Docs/NinjaBites/../
我一直在将 FacebookSDK 与堆栈溢出和一些教程集成在一起,但它对我来说工作不正常。我无法获取配置文件数据。这个方法甚至没有被调用。只出现“完成登录”。登录过程正在运行,但注销选项从未按应有的
我已经构建了一个 Facebook 登录按钮。我能够获取用户的信息,包括姓名、电子邮件、性别、ID、等我基本上只是在“字段”之后插入参数: FBSDKGraphRequest(graphPath: "
我在 Xcode 上有一个与 FacebookSDK 一起工作的项目。根据 facebook 的建议,SDK 安装在 ~/Documents/FacebookSDK 上,在我的build设置中,我有通
我正在开发一个带有 Facebook 共享和登录的应用程序。当我登录或在 Facebook 中分享内容时,我的应用程序的 LaunchScreen 在显示当前 view 之前显示。只是一秒钟,但我想知
我正在开发 IOS 应用程序。我正在使用 FacebookSDK 进行登录。我们有 3 名开发人员从事项目工作。我们也使用 git subversion。我将 facebookSDK 添加到项目中,并
出于某种原因,当用户登录我的应用程序时,为用户返回的电子邮件值为零。我通过在我的登录按钮上设置 readPermissions 来请求访问电子邮件的权限,如下所示: loginButton.readP
我是一名优秀的程序员,十分优秀!