熊手私はGoogleカレンダーとCRMを横断するときに踏みました

通常、箱入り製品の場合と同様に、すべてのソリューションがあなたに適しているわけではなく、外部ツールを使用してビジネスプロセスを改善する必要があります。 私たちの場合、組み込みのカレンダーを使用するのは面倒でした。 主な問題は、タスクを設定し、同時に忙しい従業員を監視することが不可能だったということでした-同時に、隣接する2つの部門には困難がありました。



Googleカレンダーを実装することにしました:

画像



それ以前は、Google APIを使用していなかったため、最初に行ったのはドキュメントを見つけることでした。GITソースへのリンクがすぐにあると便利です。



最初のレーキ:指定されたドキュメントは、ソースコード内の他のオブジェクトにラップされたオブジェクトについて説明しています。 コードを検討し、インターネットで解決策を探して、カレンダーに接続するコードを作成し、最初のカレンダーを追加しました。



「どれだけ早く結果が出るのか、素晴らしいことです!」 ほぼすべての準備が整いました。残りはあまりありません。必要なすべてのカレンダーを追加し、それらにイベントをスローします」と考え、ブラウザーでカレンダーインターフェイスを開きました。

そして、ここで2番目のレーキが私を待っていました:インターフェースで追加されたカレンダーが見つかりませんでした。 それらが消えた場所を理解する方法? 作成されたカレンダーのリストを返すコードを書きました。 すでに10個あることが判明しましたが、どのように機能するのか、すべてが機能し、カレンダーが作成され、返されることさえありました。 しかし、彼らはそうではなかったので、インターフェースにはありません...



OK Google、私は何を間違えていますか?



もう一度掘らなければなりませんでした。 見つかった:カレンダーがサービスアカウントに追加されます(147837410720-t2rf13ce77not3h58ubgme3q682nr54@developer.gserviceaccount.com)。 カレンダーを表示するには、メインカレンダーにカレンダーを追加する必要があることがわかりました。



次のように追加します。

$service = GoogleAuth::getInstance(); $scope = new Google_Service_Calendar_AclRuleScope(); $scope->setType('user'); $scope->setValue('  @gmail.com'); $rule = new Google_Service_Calendar_AclRule(); $rule->setRole('owner'); $rule->setScope($scope); $result = $service->acl->insert($calId, $rule);
      
      





私はリラックスして楽しんで、カレンダーが作成され、イベントが記録され、すべてが時計のように機能しました。 しかし、ここで再び次の熊手が私を待っていました!



突然、重い月曜日に、Googleはエラー(invalid_grant)を出して、トークンの受け入れを停止しました。 暗い部屋で黒猫の部署全体を2日間検索しました。 見つけた。 最近の冬時間の変更により、サーバーはリアルタイムに遅れをとるようになりましたが、Googleはそれを好みませんでした。 時間を調整した後、動作しました。

カレンダーが機能している間、Googleからの次のレーキを待ち望んでいます。



問題の解決策を見つける時間を短縮するために、この投稿で誰かを助けることができればうれしいです。



All Articles