0

RingCentral PHP SDK を使用してプレゼンス イベントをサブスクライブする Web アプリを構築しようとしています。アプリケーションは認証コード フローを使用します。アクセス トークンを取得していますが、このトークンを SDK およびプラットフォーム オブジェクトで使用する方法がわかりません。SDK はパスワード フローを使用するように調整されているようです。

POST /restapi/v1.0/subscription HTTP/1.1認証ヘッダーでアクセス トークンを渡すには、プレーン カールを使用する必要がありますか? または、RingCentral SDK オブジェクトを使用する方法はありますか? 何か不足していますか?

4

1 に答える 1

1

ユースケースとコードの実装方法についてもう少し情報を提供していただければ、より詳細に提供できます。

PHP SDK を使用してサブスクリプションを作成するには、 Github の RingCentral PHP SDK リポジトリに含まれるデモ コードを次に示します。

TL;DR

次の 2 つの質問が表示されます。

  1. RingCentral PHP SDKは承認フロー(3-Legged OAuth) をサポートしていPassword Flowますか?

承認フローは、RingCentral アカウントに関連付けられたユーザー名とパスワードをアプリケーションが保存することによるセキュリティ リスクを排除するため、マルチテナント アプリケーションを構築するためのベスト プラクティスです。RingCentral PHP SDK は、Authorization Flow と Password Flow の認証タイプをサポートしています。PHP SDK インスタンスが有効access_tokenになると、非常に簡単にサブスクリプションを作成できます。

GithubのPHP SDK コードでsrc/Platform.php、その定数がauthUrl()AUTHORIZE_ENDPOINTへのリクエストからの戻り値としてサポートされていることがわかります。

PHP SDK でサポートされているGrokify の RingCentral OAuth PHP Exampleで確認できます。Authorization Flow

SDK インスタンスが有効なを取得すると、この PHP デモ コードで見られるように、createSubscription()、addingListeners()、および register() を使用してサブスクリプションを作成するときaccess_tokenに、ヘッダーでそのトークンが使用されます。Authorization

  1. PHP SDK を使用してRingCentral サブスクリプションを作成するにはどうすればよいですか(SDK には使用できるオブジェクトが関連付けられていますか)?

RingCentral SDK を使用するには、いくつかの方法があります。上記の TL;DR でサブスクリプションの作成に関する PHP デモへのリンクを提供しました。

RingCentral PHP SDKを使用しているため、PHP はサーバー側のみの言語であるため、サーバー側の実装に制限されます。

サブスクリプションをどのように実装するかは、アプリケーションのユースケースのニーズとアーキテクチャの要件に完全に依存します。Authorization Flowを使用していることを示しているため、マルチテナントの Web ベースのアプリケーション統合を構築していると思われます。を取得していると言ったので、 Platform.login()access_tokenを呼び出して、3-Legged 認証リクエストから受け取ったコード値をリダイレクトで受け取ったと思います。クライアントまたはサーバーからこれらすべてを行っているかどうかはわかりませんが、サーバーを想定しています。/restapi/oauth/authorize

  • サーバー側でセッションを SDK インスタンスとサブスクリプションに関連付ける必要があります。つまり、クライアント側セッションごとに複数の SDK とサブスクリプション インスタンスを管理する必要があります。また、サブスクリプションによって可能になるほぼリアルタイムのイベント更新を実現できるように、WebSockets または Long-Polling を実装する必要がある場合もあります。そのため、はい、RingCentral PHP SDK は Authorization Flow で使用できますが、個人的には、エンドユーザー、クライアント側、マルチテナント アプリケーションの開発には使用しないことをお勧めします (セッションを SDK にマッピングする準備が適切に整っていない限り)。 /前述のサブスクリプション インスタンス。

  • サーバー側ですべてを管理したくない場合は、PHP アプリケーションのクライアント側でRingCentral JS SDKを使用できますが、これは少し面倒になり、ソリューションによってはソリューションの再構築が必要になる場合があります。物事をどのように構築したかについて。もちろん、このアプローチには、サブスクリプションから取得したデータで何をしたいか、およびセッション間でデータを保持する必要があるかどうかに応じて、データ揮発性の側面があります (これもユース ケースによって異なります)。

于 2016-10-14T15:47:36.560 に答える