2017-06-27 8 views
-1

これは私がやろうとしていることです: 今私のウェブページと私のFacebookページにホストされている私のビジネスのためのapi.aiでボットを作った。ボットはうまくいく。Googleカレンダーのapiとapi.aiを接続します

私の顧客がカレンダーでquerysを作ったり、特定の時間を予約したり、利用可能かどうかを尋ねたり、他の時間を提供していない場合は予約したりすることができます。

私はthis threadとそれに付随する偉大な答えを読んでいますが、私のケースは少し異なると思います。 ボットが常にトークンを持つことができるかどうか疑問に思っていたので、すべてのゲストがカレンダーを検索するために認証する必要はありませんか?

明らかに私はこれに新しいです、私はGoogleカレンダーAPIとapi.aiのガイドを読んでいますが、私は実際にそれを行う方法は実際には分かりません。私はどこかにトークンを格納して、いくつかの特定のインテントでクエリをトリガする方法があるとは思っていません。

私はGカレンダーのapiのnode.jsクイックスタートガイドもやっています。

ありがとうございました!

+0

あなたは特定のGoogleユーザーにカレンダーリクエストを添付しようとしていませんが、API.AIを通じてカレンダーを編集することができます。 – Prisoner

+0

正確には、私はwebhookクライアント秘密とidを持つclient-secret.jsonファイルを持っているアプリ内に格納しなければならないと思いますが、わかりません。 –

答えて

0

問題のカレンダーで許可されているサービスアカウントを使用することをお勧めします。サービスアカウントは通常のアカウントに似ていますが、サーバー間通信のみを行うことが予想されます。したがって、認証トークンを作成する方法はセキュリティを保護するために少し異なります。

サービスアカウントの使用の詳細については、https://developers.google.com/identity/protocols/OAuth2ServiceAccountを参照してください。

一般に、Googleのサーバーに送信するJSON Webトークン(JWT)を作成して署名するために共有秘密を使用します。カレンダーAPIを呼び出すために使用するアクセストークンが返されます。アクセストークンは約1時間で失効し、その時点でプロセスを繰り返す必要があります。

多くのことができるライブラリがあります。たとえば、node.jsライブラリhttps://github.com/google/google-api-nodejs-clientを使用している場合は、キーファイルを変更する必要があります(詳細については、ドキュメントを参照してください)。

+0

あなたの答えをありがとう。私はそれがオプションであることを見ましたが、私はいつも新しいトークンを要求することなくそれを行う方法があることを知っています。 Pythonで[この男はそれを行うことができます](https://github.com/wannikid/madridweekly)しかし、私はノードでそれをどのように翻訳するのか分かりません。彼は自分のサーバー上にcredentialという名前の別のフォルダがあり、calendar-python-quickstart.jsonファイルしか持っていないと言いました。 –

+0

彼は必要に応じて新しいトークンを要求しています - APIライブラリが彼のためにそれをやっています。あなたが使っているnode.jsライブラリもそうすることができます。 – Prisoner

+0

オハイオ州オハイオ州私は見るが、それはボットの権利を照会する人との相互作用を作成しませんか? 私はいつでもあなたと直接話すことができますか? –

関連する問題