0

標準化された電子メールから解析されたイベントを共有 Google カレンダーに自動的に投稿する必要があります。電子メールを解析して JSON オブジェクトを作成することができます (そして実行しました)。しかし、JSON を実際に使用したことはなく、これを Google カレンダーに送信する方法がわかりません。Google のドキュメントを読み返しましたが、よくわかりません。主に、ユーザーが実際に承認を入力するためにそこにいなくても認証を完了する方法がわかりません。これは、このアプリの目的に反します。

基本的に、私はデザイナーからアマチュア開発者に転向したもので、PHP が得意ですが、Javascript は大幅に後れを取っています。投稿するイベントを含む新しい電子メールを見つけて、それらを解析し、それらに含まれるイベントを投稿する必要があるphpドキュメントへのHTTPリクエストを定期的に呼び出すWebアプリを構築しました。投稿部分を除いて、これのすべての部分は準備ができて待っています。Google カレンダーに投稿するための静かで自動化された手順を実現するために概念的に必要とされるものについて、誰かが私の頭を包み込むのを手伝ってくれるなら、私は非常に感謝しています. これまでのところ、水に足を入れようとしているだけですが、これが私がたどり着いた場所です。

<?php 
$url = "https://www.googleapis.com/calendar/v3/calendars/".$calendar."/events?sendNotifications=false&key={".$api_key."}";
?>

<script>
function goGoogle() {
data = "a json object will go here";
xhr = new XMLHttpRequest();
xhr.open("POST", "<?php echo $url?>", true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.send(data); 
xhr.onreadystatechange = function() {
    alert(xhr.responseText);
}
}
</script>
<button onclick="goGoogle()">Sigh</button>

呼び出しから、alert(xhr.responseText)ステージ 2 と 3 でこれを取得します。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}

さて、ここで実際に認証を提供していないことに気付いたので、失敗しても驚かない. 問題は、認証方法がわからないことです。ヘルプ!?:)

4

1 に答える 1

1

まず、私が理解していることを確認してください。さまざまなユーザーからメールを受信するアプリがあり、それらのメールの内容を、認証が必要な共有 Google カレンダーに投稿したいと考えています (そうしないと、それらのイベントをたとえば私の私はまったく好きではないカレンダー)。さらに、アプリはエンド ユーザーを関与させずにこれを行う必要があります。ただし、アプリでエンコードできる共有カレンダーへの資格情報/認証がいくつかあります。(そうしないと、再び私のカレンダーに投稿される可能性があります)。最後に、カレンダーで作成したエントリはアプリによって「所有」されます (つまり、ユーザーの 1 人に代わってエントリを入力することはありません。ユーザーの資格情報がなく、ユーザーが許可を与えることはできません)。

これがすべて正しければ、Google カレンダー API への ClientLogin 認証を使用することから始められると思います。関連するドキュメントは次のとおりです: https://developers.google.com/google-apps/calendar/v2/developers_guide_protocol#AuthClientLogin
アプリは、共有カレンダーにアクセスするために必要な資格情報/認証情報を使用します。

そのページには、追加情報が含まれている場合もあります。

あなたの質問を誤解していたり​​、私の回答があいまいであったりしたら、申し訳ありません。コードで CalendarAPI にアクセスしたことはありませんが、ここ数週間、Authentication と OAuth2 のコードに取り組んできました。

于 2012-06-09T02:39:07.803 に答える