SalesforceVisualForceページを会社のWebサイトのウィジェットに変えたいです。サーバー側のコードとサービスアカウントを使用してウィジェットにアクセスしたい。ウィジェットのhtmlをキャッシュし、スタイルを設定して、Webページに出力します。サーバー側のコードといくつかのAPI呼び出しを使用してウィジェットを再現できることはわかっていますが、Salesforceでウィジェットを管理し、Salesforce内の他の場所でウィジェットを再利用できるようにするというアイデアは気に入っています。
この場合、ウィジェットは、Salesforceで追跡しているコンテストの現在のリーダーについてレポートします。このアプローチを他の「ミニレポートウィジェット」に再利用する予定です。これは非常に便利なパターンです。誰かがすでにそれをエレガントに解決していると確信しています。私の検索はこれまで空になりました。
当社のWebサイトにアクセスしたユーザーがSalesforceにユーザーアカウントを持っていないため、サイトを避けようとしていました(現在、匿名アクセスを許可するサイトについて考えています)。
私の最初の試みは次のようになりました(セルフサービスポータルへのSSOに触発されました):
var ws = new sfapi.SforceService();
var lr = ws.login(Secrets.salesforce_user_name, Secrets.salesforce_password);
string url = "https://na6.salesforce.com/apex/mywidget?sessionId=" + lr.sessionId;
?sidと?csssidも試しましたが、次のようなURLはSalesforceのログインページにバウンスします。
https://na6.salesforce.com/apex/mywidget?sessionId=00D3000000myorg!my-session-id-from-logging-in-with-the-api-8_i2fX_9wnYdwnwatGVuX6jGjmVmnv50j78yfGF1aKHdoDFtIx_J9
おそらく、標準のスクリーンスクレイピング手法を使用して、ユーザー名とパスワードを使用して標準のSalesforceログインフォームに投稿し、/ apex/mywidgetページをプルすることができます。しかし、それは不器用でサポートされていないように感じます。
今、ウィジェットを公開するためだけに公開される新しいサイトを作ることを考えています。少なくとも、自信を持ってそのページをスクリーンスクレイピングすることができました。
どんな助けでも大歓迎です。とりあえず、匿名サイトのアプローチで遊んでみます。