• kanaTaro
  • NEWBIE
  • 0 Points
  • Member since 2010

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 4
    Replies

お世話になります。

 

GAE For JavaのSalesforce連携をつかって、

SingleEmailMessageを送信したいと思っています。

 

#やりたいこと

・E-メールテンプレートを指定し、カスタムオブジェクトの項目内容で置換し、

E-メールを送信する。

 

・活動履歴にレコードを追加する。

(これにより、カスタムオブジェクトの関連リストに表示される)

 

 

書いたコード

(2010/7/21 無駄なコメント記述を削除しました)

 

SingleEmailMessage[] message = new SingleEmailMessage[1];
SingleEmailMessage msg = new SingleEmailMessage();
message[0] = msg;
   
message[0].setSaveAsActivity(false);
 

message[0].setTemplateId("00X10000000N78zEAC");

message[0].setTargetObjectId(リードのID);

message[0].setWhatId(カスタムオブジェクトのID);

   String[] toAddresses = new String[] { "メールアドレス" };
   message[0].setToAddresses(toAddresses);
   try {
       
    PartnerConnection connection = Connector.newConnection(config);
    SendEmailResult[] result = connection.sendEmail((Email[])message);

 

============= 以下省略 ===================

 

このソースを実行すると、以下のエラーメッセージが出力されます。

 

The email failed to send: WhatId is not available with saveAsActivity for sending emails to Leads.

 

ちなみに、該当カスタムオブジェクトの活動の記録は許可になっています。

そのため、

Salesforce画面カスタムオブジェクトから、「メールの送信」ボタンをクリックし、

テンプレートを使用したメールを送ると、WhoIdがカスタムオブジェクトのIDになった

Taskのレコードができ、メールも送ることができます。

 

Salesforce画面でできることと、同じことは外部APIからできないのでしょうか?

お世話になります。

 

GAE For JavaのSalesforce連携をつかって、

SingleEmailMessageを送信したいと思っています。

 

#やりたいこと

・E-メールテンプレートを指定し、カスタムオブジェクトの項目内容で置換し、

E-メールを送信する。

 

・活動履歴にレコードを追加する。

(これにより、カスタムオブジェクトの関連リストに表示される)

 

 

書いたコード

(2010/7/21 無駄なコメント記述を削除しました)

 

SingleEmailMessage[] message = new SingleEmailMessage[1];
SingleEmailMessage msg = new SingleEmailMessage();
message[0] = msg;
   
message[0].setSaveAsActivity(false);
 

message[0].setTemplateId("00X10000000N78zEAC");

message[0].setTargetObjectId(リードのID);

message[0].setWhatId(カスタムオブジェクトのID);

   String[] toAddresses = new String[] { "メールアドレス" };
   message[0].setToAddresses(toAddresses);
   try {
       
    PartnerConnection connection = Connector.newConnection(config);
    SendEmailResult[] result = connection.sendEmail((Email[])message);

 

============= 以下省略 ===================

 

このソースを実行すると、以下のエラーメッセージが出力されます。

 

The email failed to send: WhatId is not available with saveAsActivity for sending emails to Leads.

 

ちなみに、該当カスタムオブジェクトの活動の記録は許可になっています。

そのため、

Salesforce画面カスタムオブジェクトから、「メールの送信」ボタンをクリックし、

テンプレートを使用したメールを送ると、WhoIdがカスタムオブジェクトのIDになった

Taskのレコードができ、メールも送ることができます。

 

Salesforce画面でできることと、同じことは外部APIからできないのでしょうか?

Apex Explorer 8.0にログインしようとすると、エラーポップアップ画面が出ていますので、困っています。

解決方法をご存知の方がいらっしゃいましたら、ご教授いただければ幸いです。

 

以上、よろしくお願いいたします。

 

  • May 20, 2010
  • Like
  • 0