2

複数の PDF ファイルを自動的に生成し、対応するオブジェクト レコードに添付ファイルとして保存する必要があります。バッチ ファイルとレンダリングされた visualForce ページを「PDF」として使用してこのトピックを解決しようとしましたが、Salesforce にはバッチ クラスで getContent() メソッドを使用できないという制限があります。

インターネットで検索すると、この可能な解決策が見つかりました:

APEX Schedulable クラスによって HTML メールが送信され、本文が空白で配信されるのはなぜですか?

それは以下を提案する:

  1. Schedulable インターフェースを実装するクラスを作成します。
  2. execute() メソッド呼び出しと @future メソッドを用意します。
  3. メールを送信するクラスで Web サービス対応メソッドを呼び出す @future メソッドを作成します。

私が見つけた問題は、Salesforce 内の Web サービス (REST) で認証しようとしたときです ( http://help.salesforce.com/help/doc/en/remoteaccess_oauth_web_server_flow.htm )

最初のステップでリクエストを行い、コールバック URL を介してコードを取得しますが、Salesforce からこのパラメーターを読み取る方法を知ることは不可能です。答えには、「getParameter()」というメソッドがなく、本文が空です。

例として:

リクエスト: https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id= 3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA 9GE&redirect_uripcode=https://stateback_stateback.mysite%mycall.js%3A%2F%2F%2F

応答: https://www.mysite.com/code_callback.jsp?code=aPrxsmIEeqM9&state=mystate

このソリューションを実装するために、Salesforce 内で呼び出しを行う Web サービスに接続する方法はありますか??

外部アプリケーションからでも、Salesforce 内から呼び出しを行うと、より簡単になりますか???

可能な解決策を提案できますか???

4

2 に答える 2

1

(古い質問のネクロマンシー;))

これはどう:

  1. コンテキストから、または Schedulable クラスから直接...
  2. @future を 10 回まで呼び出す
  3. 各 @future は最大 10 個のコールアウトを送信し、それらを使用して VF ページに RESTful にアクセスしrenderAs="pdf"、コンテンツを添付ファイルとして保存できますか?
  4. 100 個の添付ファイルでは不十分な場合は、バッチのデイジー チェーン接続を試してみてください。バッチ内のSummerまたはWinter '13finish()メソッドを使用して、次のバッチで Database.execute() を起動できると思います;)

PDFへのRESTアクセスを正確に取得する方法については、私の質問https://salesforce.stackexchange.com/questions/4692/screen-scrape-salesforce-with-rest-get-call-from-apexまたは多分レポートを保存するための私の最終的な解決策: https://salesforce.stackexchange.com/questions/4303/scheduled-reports-as-attachment (必要なのは、私が想像する認証部分と、もちろんリモート サイト設定の作業エントリだけです) .

これは、sid cookie が標準ページと同様に VF ページでも機能することを前提としています...頑張ってください。

于 2013-01-17T19:17:23.957 に答える