在Salesforce iOS SDK中查询用户名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Salesforce iOS SDK中查询用户名相关的知识,希望对你有一定的参考价值。

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

答案

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

#import "SFIdentityData.h"

NSString *userName = [SFAccountManager sharedInstance].idData.username;
另一答案

我不知道你是否使用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()方法(它返回类似于Apex UserInfo类的对象)。只需单击那里的第一个链接即可查看可以调用的完整方法列表。

另一答案

对于SWIFT

要使用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
另一答案

您需要导入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);
另一答案

SalesforceMobileSDK-iOS 7.0

Swift版本

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

取决于你需要什么,这也许有用:

guard let userId = UserAccountManager.shared.currentUserAccount?.idData?.userId else {return}

以上是关于在Salesforce iOS SDK中查询用户名的主要内容,如果未能解决你的问题,请参考以下文章

由于无法在 SF SDK 中找到类别,将 ObjC 项目与 SalesForce SDK 桥接会导致崩溃

由于无法在 SF SDK 中找到类别,将 ObjC 项目与 SalesForce SDK 桥接会导致崩溃

在基于 Cordova 的 Salesforce 混合应用程序中找不到 SFLoginViewController?

在不使用SalesForce Webview的情况下登录iOS的SalesForce?

使用 SDK 为 Android 设置 Salesforce 推送通知

Salesforce - 对象UserRecordAccess上的SOQL查询语法错误