4

レポートから連絡先のリストを取得してWebサービスに送信できるSalesForceプラットフォームでアプリを作成しようとしています(たとえば、メールやSMSを送信します)。

これを行うために私が見つけることができる唯一の方法は、新しく作成されたキャンペーンにレポート結果を追加してから、そのキャンペーンにアクセスすることです。これは長い道のりのようです。

私がオンラインで読んだすべての投稿には、Apexを介してレポートにアクセスできないと書かれていますが、これらの投稿のほとんどまたはすべては、新しいレポートオブジェクトを導入したAPIのバージョン20が先月リリースされる前に作成されました。レポートに関する情報(最後に実行された日付など)にプログラムでアクセスできるようになりましたが、そのレポートに含まれる結果データにアクセスする方法がまだ見つからないようです。

それを行う方法があるかどうか誰かが知っていますか?

4

5 に答える 5

8

それについて多くの調査を行った結果、現時点でこれを行う唯一の方法は、実際にCSVドキュメントをスクレイプすることであることがわかりました。コンガなどがまさにこの方法を使っていると思います。

私たちはしばらくの間これを行ってきました、そしてそれはうまくいきます。唯一の注意点は次のとおりです。

  • Salesforceのユーザー名/パスワード/セキュリティトークンは、接続しているアプリケーションと共有する必要があります。パスワードが変更されると(デフォルトでは30日ごとに変更されます)、トークンも変更されるため、再入力する必要があります。

  • アカウントのホストを知っている必要がありますが、これを正しく理解するのは難しい場合があります。たとえば、ほとんどのヨーロッパのアカウントはemea.salesforce.comを使用してCSVにアクセスしますが、アイルランドにいる場合でも、アカウントはna7(北米7)を使用します。現在、ページホストをアプリに送信し、それを解析して使用する正しいサブドメインを計算していますが、これを行うにはもっと良い方法が必要だと思います。

Salesforceは、カスタムレポートの結果をその場でエクスポートできるようにするAPI呼び出しを提供し、OAuthを使用してそれに接続できるようにすることで、これを整理する必要があります。しかしもちろん、これは起こりそうにありません。

于 2011-04-15T09:33:53.400 に答える
2

SalesforceSpring 11アップデートでは、レポートに関する詳細情報を取得できるようです。レポートおよびReportTypeのAPIで説明されているように、レポートのクエリで使用されるフィールドにApex経由でアクセスし、フィールド「」を次のように読み取ることができます。また、「フィルター」と呼ばれるフィルターを表すために使用されるフィールド。

このオブジェクトを反復処理すると、レポートの同じクエリを表す文字列を作成できるようになります。その文字列を作成した後、Database.query(..)呼び出しを使用して動的クエリを実行できます。

少し面倒なようですが、動作するはずです。(まだテストされていません!)

ヘッダーに記載されているように、これはカスタムレポートでのみ機能します。

于 2011-05-06T09:11:35.420 に答える
2

これを見つける仲間の新人のために明確にするために、質問がされたとき、プログラムでレポートデータにアクセスできましたが、ハッキーでエラーが発生しやすい方法を使用する必要がありました。

これはすべて修正され、Winter '14以降、APIを介してレポートにアクセスできるようになりました。

こちらのドキュメント-http ://www.salesforce.com/us/developer/docs/api_analytics/index.htm

これらのカスタムダッシュボードなどで町に移動します。SalesforceStackExchangeからクロス投稿-https ://salesforce.stackexchange.com/questions/337/can-report-data-be-accessed-programatically/

于 2014-10-15T17:54:35.473 に答える
1

ただし、Conga(appextremes)はQuickMerge製品でこれを行い、ユーザーがレポートIDを指定し、ページのapexスクリプトがレポートを実行して、メールマージ操作の結果を抽出します。

于 2011-04-14T09:37:24.290 に答える
0

v20.0 APIはレポートに関するメタデータを追加しましたが、実際にレポートを実行して結果を取得する方法はありません。これが標準レポートまたは定義したレポートの場合、レポートと同等のSOQLクエリを実行して実行できますが、エンドユーザー定義のレポートの場合、これを行う方法はありません。

于 2010-11-25T19:39:36.860 に答える