2

最新のSalesforceiOSSDKを使用するiOSアプリがあります。SalesforceサイトでoAuth2.0を使用してWebビューを介してユーザーを認証するため、アプリでユーザー名をキャプチャしません。APIまたはセッション情報を使用してユーザー名をクエリする方法はありますか?ユーザー名を表示して、ユーザーがログインしたアカウントを認識できるようにしたいだけです(複数のアカウントがある場合)ありがとう、Joseph

4

5 に答える 5

10

現在のユーザーのユーザー名はSFIdentityDataオブジェクトに保存されます

#import "SFIdentityData.h"

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

RESTとSOAPAPIのどちらを使用しているかわかりません...

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は、メソッドを提供します(ApexクラスgetUserInfo()に類似したオブジェクトを返します)。UserInfoそこにある最初のリンクをクリックするだけで、呼び出すことができるメソッドの完全なリストが表示されます。

于 2013-01-22T08:36:29.030 に答える
1

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
于 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

Swiftバージョン

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 に答える