Salesforce

Salesforce TranslationWorkBench

Salesforceトランスレーションワークベンチではまったのでメモ。 Salesforceでアプロケーションで多言語対応を行う方法の一つにトランスレーションワークベンチがあります。 これはカスタム項目や選択リストラベル名の日英の翻訳定義を設定することで、 表示をユーザの言語によって自動的に切り替えてくれる機能です。   注意点は翻訳定義を設定するときには”組織のデフォルトの言語”と一致した言語の設定しかできない点です。 日本語⇒英語の翻訳設定の際には”組織のデフォルトの言語”を日本語に、 英語⇒日本語の際は”組織のデフォルトの言語”を英語にして設定を行う必要があるようです。

BulkAPIでOAuth2.0 Access Tokenを使う

SalesforceとのAPI連携で、詰まったことがあったのでメモ。   REST APIでOAuth2.0のアクセストークンによってデータの取得をしていて、 Bulk APIでも同じように認証できると思っていたらドキュメントを探しても方法が 記載されていない!   しばらく調べると”Access Token(equivalent Session ID)”なる記述を発見! Bulk APIでセッションIDを指定する箇所でアクセストークンを指定したらうまくいった。   ConnectorConfig partnerConfig = new ConnectorConfig(); partnerConfig.setAuthEndpoint(“https://test.salesforce.com/services/Soap/u/27.0”); partnerConfig.setServiceEndpoint(“https://cs17.salesforce.com/services/Soap/u/”); partnerConfig.setSessionId(sessionProvider.getAccessToken()); new PartnerConnection(partnerConfig); http://salesforce.stackexchange.com/questions/9376/rest-api-session-id-soap-partner-connection   助かった。。  

SOQLリレーションクエリ

SalesforceのSOQLでコミュニティに質問してやっと解決したことがあったのでメモ SOQLでは親のオブジェクトの項目を取得する際は 「SELECT {親オブジェクト名}.{項目名} FROM {子オブジェクト名}」 と指定する。 例:担当者(Contact)に紐づく取引先(Account)の項目を取得するクエリ 「SELECT Account.Name FROM Contact」 なので商談履歴オブジェクト(OpportunityHistory)から紐づく商談(Opportunity)のIdを取得しようと以下のクエリを実行したが上手くいかない 「SELECT Opportunity.Id FROM OpportunityHistory」⇒×エラー これはOpportunityHistoryがOpportunityへのリレーション項目をもたず「OpportunityId」として商談のIDをもっているため。 なので以下のようにすると上手くいく。 「SELECT OpportunityId FROM OpportunityHistory」 リレーションクエリを作る際はリファレンスをちゃんと読んでそのオブジェクトがリレーション項目をもっているか確認しようと反省。