2

我有一个使用最新 Salesforce iOS SDK 的 iOS 应用程序。它使用 Salesforce 站点上的 oAuth2.0 通过 web 视图对用户进行身份验证,因此我不会在我的应用程序中捕获用户名。有没有一种方法可以让我以某种方式使用 API 或会话信息查询用户名?我只是希望能够显示用户名,以便用户知道他们登录了哪个帐户(如果他们有多个)谢谢,约瑟夫

4

5 回答 5

10

当前用户的用户名存储在 SFIdentityData 对象中

#import "SFIdentityData.h"

NSString *userName = [SFAccountManager sharedInstance].idData.username;
于 2013-01-22T14:57:32.940 回答
1

我不知道你是使用 REST 还是 SOAP API ......

对于REST ,metadaddy有一篇出色的文章:http : //wiki.developerforce.com/page/Digging_Deeper_into_OAuth_2.0_at_Salesforce.com#The_Force.com_Identity_Service

身份服务链接的格式为/id/(organization id)/(user id),请在此博客文章中向上滚动一下,以了解您应该期待它的时间。

工作台

SOAP API,提供getUserInfo()方法(它返回一个类似于 ApexUserInfo类的对象)。只需单击此处的第一个链接即可查看您可以调用的方法的完整列表。

于 2013-01-22T08:36:29.030 回答
1

斯威夫特

要使用 Salesforce Mobile SDK 4 在 UILabel 和 UIImageView 中显示登录用户的全名和聊天资料图片,您需要首先创建 @IBOutlets

@IBOutlet weak var yourtextLabel: UILabel!
@IBOutlet weak var profileImage: UIImageView!

然后,您只需要 viewDidLoad() 中的以下内容

yourtextLabel.text = SFAuthenticationManager.sharedManager().idCoordinator.idData.displayName

let imageURL = SFAuthenticationManager.sharedManager().idCoordinator.idData.pictureUrl
let image =  UIImage(data: NSData(contentsOfURL: imageURL!)!)
profileImage.image = image
于 2016-03-08T18:43:36.547 回答
1

您需要导入SFAuthenticationManager .h 类

#import <SalesforceSDKCore/SFAuthenticationManager.h>

然后您可以通过这种方式获取用户详细信息(名字姓氏电子邮件等)

NSLog(@"userData= %@",[SFAuthenticationManager sharedManager].idCoordinator.idData);

NSLog(@"first name = %@",[SFAuthenticationManager sharedManager].idCoordinator.idData.firstName);
NSLog(@"last name = %@",[SFAuthenticationManager sharedManager].idCoordinator.idData.lastName);
NSLog(@"email name = %@",[SFAuthenticationManager sharedManager].idCoordinator.idData.email);
于 2016-04-06T08:41:27.390 回答
0

SalesforceMobileSDK-iOS 7.0

斯威夫特版本

import SalesforceSDKCore
guard let userId = UserAccountManager.shared.currentUserAccountIdentity?.userId else {return}

取决于您的需要,这可能也有帮助:

guard let userId = UserAccountManager.shared.currentUserAccount?.idData?.userId else {return}
于 2019-02-08T20:04:29.000 回答