1

こんにちは、私はこの数日間、たくさんの検索に行き詰まりました。今、どうしたらよいか混乱しています。

しようとしている:自分のカレンダーを作成し、すべてのイベントをカレンダーに表示します。今のところ XML ファイルにすべてのイベントがあり、すべて正常に動作します。XMLファイルをもう使用したくないため、カレンダーアプリを自分のGoogleカレンダーアカウントに接続して、自分のGoogleカレンダーアカウントからすべてのイベントを取得(読み取り専用)しています。後でイベントを更新したい場合は、良い考えではありません。ユーザーが Google カレンダーに接続するためにユーザー名/パスを入力する必要はありません。ハードコーディングしたいと思います。

問題: G-Data Google Api を使用して、iPhone でこのようなことを行いました。ただし、G-Data Google ApiはAndroid に対応していません。次に、検索したところ、代わりに Google_api_java_client を使用することをお勧めします。

これは、ユーザーがユーザー名とパスワードを入力できるようにすることで、Google カレンダー アカウントに接続できるリンクです。しかし、これは私が望むものではありません。コード内にユーザー名とパスワードをハードコーディングしたいのですが、彼らは OAuth を使用しているため、ユーザー名/パスをハードコーディングできません。このリンクから ClientLogin も試しましたが、うまくいきません。「GoogleTransportを解決できません」というエラーが表示され続けます。私はこのエラーの解決策を探しました.pplは私にOAuthに戻ることを勧めます. これは本当に私を今混乱させています。

誰かがこれを経験して解決策を持っていることを願っています.Androidでこれを実装する方法を教えてください. ネイティブのカレンダー アプリからではなく、自分の Google カレンダー アカウントからのみデータを読み取りたいだけです。

私が見つけた最後の情報は、認証された GET 要求を allcalendars フィードURL に送信することによるものです。ただし、これを行ったことはありません。うまくいくと思われる場合は、私を助けてください。

どんな助けにも本当に感謝しています。どうもありがとうございました。

4

1 に答える 1

3

Android カレンダーの作成部分は既に正しく理解しています。あとは、Google カレンダーからイベントを読み取って、新しく作成した Android カレンダーにイベントを追加するだけです。

それは簡単です。

  1. Google カレンダー ウェブ アプリからカレンダーを公開します。(とにかく、ログイン/パスワードをアプリに埋め込むのは悪い考えです。誰でも盗むことができます)。
  2. 「アジェンダ パラメータ」ページの公開カレンダー URLセクションの近くで、公開AgendaIdを (フォームで)コピーできますxxxYYYzzz@group.calendar.google.com
  3. アプリから、この URL https://www.google.com/calendar/feeds/AgendaId%40group.calendar.google.com/public/full?alt=json&orderby=starttime&max-results=15&singleevents=に対して http GET リクエストを実行します。 true&sortorder=ascending&futureevents=true ( AgendaIdを実際の値に置き換えます) で、将来のイベントを json 形式で読み取ることができます。
  4. 形式 (json/xml) または返されるエントリの数を微調整するには、https ://developers.google.com/gdata/docs/2.0/reference#Queries のドキュメントを参照してください。

また、これは古い API であることに注意してください。新しい API を使用するにはアカウントを登録する必要があり、1 日あたり 10 000 件の無料リクエストに制限されています。

于 2012-09-21T14:45:37.650 に答える