簡體   English   中英

在Salesforce iOS SDK中查詢用戶名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM