在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?