[英]Query for username in Salesforce iOS SDK
我有一個使用最新Salesforce iOS SDK的iOS應用。 它使用Salesforce網站上的oAuth2.0通過Web視圖對用戶進行身份驗證,因此我不會在應用程序中捕獲用戶名。 有沒有一種方法可以通過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
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
迅捷版
import SalesforceSDKCore
guard let userId = UserAccountManager.shared.currentUserAccountIdentity?.userId else {return}
根據您的需求,這可能也會有所幫助:
guard let userId = UserAccountManager.shared.currentUserAccount?.idData?.userId else {return}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.