You need to sign in to do that
Don't have an account?
ms-hase-q23ee
Customer Communityライセンス に対してRESTインターフェイスは利用可能でしょうか?
お世話になっております。
掲題のとおり、Customer Communityライセンスとして付与されたユーザでRESTへのログインは可能でしょうか?
Customer Communityライセンスの場合、ログイン先からして、[community name].salesforce.comとなるため、
可能かどうか、わかりません。
ためしに、通常のRESTへの入り口(https://login.salesforce.com/services/oauth2/token)に対して
ログインしてみたところ、認証ではじかれてしまいました。
{
"error": "invalid_grant",
"error_description": "authentication failure"
}
ご存知の方はご教授ください。
宜しくお願いいたします。
掲題のとおり、Customer Communityライセンスとして付与されたユーザでRESTへのログインは可能でしょうか?
Customer Communityライセンスの場合、ログイン先からして、[community name].salesforce.comとなるため、
可能かどうか、わかりません。
ためしに、通常のRESTへの入り口(https://login.salesforce.com/services/oauth2/token)に対して
ログインしてみたところ、認証ではじかれてしまいました。
{
"error": "invalid_grant",
"error_description": "authentication failure"
}
ご存知の方はご教授ください。
宜しくお願いいたします。
失礼しました
>[community name].force.com
ですね。
因みにhttps://[community name].force.comの先に、/services/oauth2/token はありません。
(当たり前かですが・・・)
https://developer.salesforce.com/blogs/developer-relations/2014/06/how-to-provision-salesforce-communities-users.html
API Provisioning
You can provision community users by using the SOAP or REST API on the User object. When using this API, keep in mind that the Community user has to be associated to a valid contact and account so these fields need to be set. The account must also be owned by a Salesforce user that has a role.
We also provide the following methods to provision a new user through Apex:
createPortalUser(user, accountId, password) lets you create an external user associated to a Customer or Partner account.
createPersonAccountPortalUser(user, ownerId, password) lets you create an external user associated to a Person Account.
ちゃんと設定すれば、出来ますよ。といっているように見えるのですが、ではどのような手順で認証すれば良いのか、イマイチわかりません。
SAMLを作れば、https://login.salesforce.com/services/oauth2/token/から認証できるようになるのでしょうか?
本番機に迂闊なことは出来ないので、どなたか経験者の方は教えていただけませんでしょうか?
宜しくお願いします。
以前Herokuアプリとの接続を試してみました。(画像はクリックすれば拡大されると思います。)
http://tyoshikawa1106.hatenablog.com/entry/2014/09/27/134254
ちなみに検証用の環境は無いでしょうか。
Salesforceの方にはSandbox環境という検証用の環境を作成できるのでそちらを用意するのが安全だと思います。
後は試しにREST APIを実行するのはworkbenchというサイトが使えるかもしれません。
https://workbench.developerforce.com/login.php
SalesforceにログインしてREST APIを実行すると実行結果を確認できたと思います。
> 接続アプリケーションの設定が必要になるかもしれません。
すでに接続アプリの設定は終えて、ユーザーライセンスが"salesforce platform"の場合は正常に接続できることを確認しています。"customer community"ライセンスの場合、失敗します。逆にherokuは試していないのでご提示のブログが参考になるのか、ならないのか分かりません。
> ちなみに検証用の環境は無いでしょうか。
勿論ありますが、本件は急いでいます。(そもそもユーザーライセンスの違いでRESTが使えたり、使えなかったりする事事態が想定外なので)「この手順で設定すればできる」ということを示す資料があれば、さっさと本番機に適用したいところです。
> 後は試しにREST APIを実行するのはworkbenchというサイトが使えるかもしれません。
こちらはオープンソースで配布されているアプリなので、既に開発機に導入してかなりカスタマイズ掛けています。
そのサイトはレスポンスが遅すぎ!
上記の状態なので、(話は戻りますが) "API Provisioning..."の記述が非常に気になる訳です。sarahって人の書き込みが自分の疑問に近い気がします。・・・でそれを理解した上でどんな手順を踏めば、"customer community"でRESTを使えるようになるのか?
と言うのが問題点です。
宜しくお願いします。
customer communityライセンスのユーザで使用しているプロファイルのシステム管理者権限部分にある「API の有効化」は設定済みでしょうか?
これにチェックがついていないとAPIの処理を実行することができません。
未設定になっている可能性が考えられます。
Salesforceのコミュニティに接続するためにOAuthを使用するには、コミュニティのURLへの完全なパスを使用してサーバーインスタンス名に置き換えます。・・といったことについて説明があります。
Connecting to Salesforce Communities
http://www.salesforce.com/us/developer/docs/chatterapi/Content/quickstart_communities.htm
まだ未確認の内容でしたらご確認ください。