2011-09-10 15 views
1

私はSalesforce REST APIに接続しようとしていますが、大したことはありません。 Salesforce REST API Quick Start Guideには、HTTPSコールバックURLが必要ですが、例では、コールバックURLとしてhttps://localhost:8443/RestTest/oauth/_callbackが使用されています。Salesforce REST APIのコールバックURLがHTTPSである必要がありますか?

このテストでは、php Salesforce REST API exampleを使用してテストサーバー(HTTP)に接続しようとしましたが、Salesforceが適切でリダイレクトループを開始したようです。

私はSSL証明書を持っていない場合、Salesforce REST APIに接続することはできますか?そうであれば、どうすればよいですか?記録のために、私のアプリケーションはPHPで書かれていますが、公式の例のほとんどがJavaではありません。

+0

例を挙げて説明しようとしていることは何ですか?この例はHTTPSです。 "しかし"何? –

+0

しかし、それは "localhost"の開発環境にあります。localhostでhttpsを使用することが可能な場合は、どうすればよいか知りたいです。 – TrentonMcManus

+0

'localhost'を特別なものにするものは何ですか? http://www.google.com.au/search?sourceid=chrome&ie=UTF-8&q=https+on+apacheまたはhttp://www.google.com.au/search?aq=f&sourceid=chrome&ie=UTF- 8&q = https + on + iis - 証明書を取得して、外出してください。 –

答えて

1

私はSalesforce REST APIを一度も使用していませんが、リンク先のページを読んでいます。

OAuthコールバックURLはHTTPSである必要があります。あなたはこの自分を発見しているように見える、両方の文書で:

それは安全である必要があります。http://は、HTTPSのみを動作しません://

...と例:あなたの他の質問については

@WebInitParam(name = "redirectUri", value = 
    "https://localhost:8443/RestTest/oauth/_callback") 

は、私が持っていない場合、SalesforceのREST APIに接続することが可能ですSSL証明書、もしそうなら、どのようにすればよいでしょうか?

第二の方法により、おそらく

、ページ上の最初の文で示唆したように、あなたはにリンク:

あなたは、セッションIDを渡すことで、OAuth 2.0のかを使用して認証を設定することができます。

...

セッションID認証

あなたが誰か他の人のパスワードを処理していない場合は、代わりにOAuth 2.0のアクセストークンのセッションIDを使用することができます。

  1. を入手セッションID(例えば、SOAP WebサービスAPI login())は、セッションIDを返します。 Apexの現在のコンテキストの一部として、セッションIDを持つこともできます。

  2. リソースにリクエストを送信するときに、セッションIDを使用します。 IDをトークン値に置き換えます。

ですから、あなたは、セッションIDを取得し、そこからWebサービスとの通信にlogin()を使用することができます(つまり、あらゆる手段)いくつかの他の人のパスワードを処理していない提供されます。

+0

コールバックURLがhttpsのどこかで実行している限り、[PHP Salesforce REST APIの例](https ://github.com/petewarden/salesforce_restphp_example/blob/master/index.php)が動作します。 – TrentonMcManus

関連する問題