• 慈 小堀
  • NEWBIE
  • 0 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 4
    Questions
  • 4
    Replies
お世話になります。
visualforceページ内で、プロファイルによって自動ページ送信をしたいと考えています。
headのmetaタグで分岐して転送することはできませんでしょうか?

        ■分岐なしの場合
        <meta http-equiv="refresh" content="3;URL=https://twgw.cradle.co.jp/user/index.html"/>
    ■これをプロファイルによって、分岐させたい
        <meta http-equiv="refresh" content="{!IF({!$Profile.Name}=='Utest_en','3;URL=https://000000/en/','3;URL=https://000000/jp/')}"/>
    は失敗してしまいます。

rendred属性でも試してみましたがmetaタグでは実現できませんでした。
出来る場合は、<apex:タグをどのようにすればできますでしょうか?
    <apex:outputPanel rendered="{!IF({!$Profile.Name}=='Utest_en',true,false)}">
        <meta http-equiv="refresh" content="3;URL=https://user2.cradle.co.jp/user/jp/"/>
    </apex:outputPanel>
 
Salesforce認証を介して、OpenIDConnectにて自社ファイルサーバーに接続する方法をテストしています。
Salesforce側に接続アプリケーションを作成し、OAuth 範囲に以下の権限を与え、ファイルサーバにログインまではできるようになりましたが、ユーザー情報(email等)が送信されません。原因をご教授いただけませんでしょうか?

SF内の接続アプリケーションの設定では
・基本情報へのアクセス (id, profile, email, address, phone)
・Web 経由のデータへのアクセスを提供 (web)
・フルアクセス (full)
・カスタムアプリケーションへのアクセスの提供 (visualforce)
・ユーザに代わっていつでも要求を実行 (refresh_token, offline_access)
・一意の識別子へのアクセスを許可 (openid)

サーバー側は
Array (
[Accept] => text/html, application/xhtml+xml, */*
[Accept-Language] => ja-JP
[User-Agent] => Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
[UA-CPU] => AMD64 [Accept-Encoding] => gzip, deflate
[Host] => ******* .co.jp
[Connection] => Keep-Alive
[Cookie] => *******
[OIDC_CLAIM_nonce] => yIXryr2Bp4pghN8bcieWGUHgxodp42IAHtTtAevpAGU
[OIDC_CLAIM_iat] => 1460428086
[OIDC_CLAIM_sub] => https://login.salesforce.com/id/*******/******
[OIDC_CLAIM_at_hash] => -tcCsrv0_vzgTneZ3V83RQ
[OIDC_CLAIM_iss] => https://login.salesforce.com [OIDC_CLAIM_aud] => 3MVG9I1kFE5Iul2Adl.29QSXJBhPppRwRqbakFEejAzdNbMjk7tYJ8trOerQpCYrSAomqYE60zHNRX9xCHXQz
[OIDC_CLAIM_exp] => 1460428206
[OIDC_access_token] => 00D10000000HFdn!ARkAQN8ht2Lr_tBuoPBOBuSfnEsDfYCtDYJR_ddQlDVJjV87cCIdNXhnuz2RVPCq4W6cNzyqXxH.5r40rjncgpvBBBRxA.L. )

となってしまいます
email情報などを取得するにはどのようにすればいいでしょうか?
商談のトリガで以下のように書きましたところ、エラーがでました。
CopyOpportunityYakuwari: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object: Trigger.CopyOpportunityYakuwari: line 7, column 1
ご教授お願いします。

trigger CopyOpportunityYakuwari on Opportunity (after Insert) {

    for(Integer i=0; i<Trigger.new.size(); i++){
       Opportunity nw  = Trigger.new[i];
       Opportunity old = Trigger.old[i];
    
            /*
             * 「取引先責任者の役割」をコピー
             */
            List<OpportunityContactRole> contactRoleList = [
                SELECT
                  ContactId,
                  Role,
                  IsPrimary
                FROM
                  OpportunityContactRole
                WHERE
                  OpportunityId = :'old.id'
                                    
            ];
            
            List<OpportunityContactRole> newContactRoleList = new List<OpportunityContactRole>();
            for (OpportunityContactRole contactRole : contactRoleList) {
                newContactRoleList.add(new OpportunityContactRole(
                  OpportunityId = 'nw.id',
                  ContactId = contactRole.contactId,
                  Role = contactRole.role,
                  IsPrimary = contactRole.isPrimary
                ));
            }
            insert newContactRoleList;
        }
}
お世話になっております。
掲題の件、Apexでこのリンクまで調べたのですが、実際の導入方法がわかりません。
ご教授いただけませんでしょうか?

http://dackdive.hateblo.jp/entry/2014/05/08/011856

 
お世話になります。
visualforceページ内で、プロファイルによって自動ページ送信をしたいと考えています。
headのmetaタグで分岐して転送することはできませんでしょうか?

        ■分岐なしの場合
        <meta http-equiv="refresh" content="3;URL=https://twgw.cradle.co.jp/user/index.html"/>
    ■これをプロファイルによって、分岐させたい
        <meta http-equiv="refresh" content="{!IF({!$Profile.Name}=='Utest_en','3;URL=https://000000/en/','3;URL=https://000000/jp/')}"/>
    は失敗してしまいます。

rendred属性でも試してみましたがmetaタグでは実現できませんでした。
出来る場合は、<apex:タグをどのようにすればできますでしょうか?
    <apex:outputPanel rendered="{!IF({!$Profile.Name}=='Utest_en',true,false)}">
        <meta http-equiv="refresh" content="3;URL=https://user2.cradle.co.jp/user/jp/"/>
    </apex:outputPanel>
 
商談のトリガで以下のように書きましたところ、エラーがでました。
CopyOpportunityYakuwari: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object: Trigger.CopyOpportunityYakuwari: line 7, column 1
ご教授お願いします。

trigger CopyOpportunityYakuwari on Opportunity (after Insert) {

    for(Integer i=0; i<Trigger.new.size(); i++){
       Opportunity nw  = Trigger.new[i];
       Opportunity old = Trigger.old[i];
    
            /*
             * 「取引先責任者の役割」をコピー
             */
            List<OpportunityContactRole> contactRoleList = [
                SELECT
                  ContactId,
                  Role,
                  IsPrimary
                FROM
                  OpportunityContactRole
                WHERE
                  OpportunityId = :'old.id'
                                    
            ];
            
            List<OpportunityContactRole> newContactRoleList = new List<OpportunityContactRole>();
            for (OpportunityContactRole contactRole : contactRoleList) {
                newContactRoleList.add(new OpportunityContactRole(
                  OpportunityId = 'nw.id',
                  ContactId = contactRole.contactId,
                  Role = contactRole.role,
                  IsPrimary = contactRole.isPrimary
                ));
            }
            insert newContactRoleList;
        }
}
お世話になっております。
掲題の件、Apexでこのリンクまで調べたのですが、実際の導入方法がわかりません。
ご教授いただけませんでしょうか?

http://dackdive.hateblo.jp/entry/2014/05/08/011856