1

Google カレンダー API を使用してイベントを Google カレンダーにエクスポートしています。ユーザーが Web アプリにログインすると、イベントが作成され、同じイベントが Google カレンダーにエクスポートされます。これは基本的な要件です。このコードを認証に使用しました

<body>
<div id="panel"></div>
<script type="text/javascript">
var myService;


google.load("gdata", "1");
google.setOnLoadCallback(getMyFeed);

function logMeIn() {
      scope = "http://www.google.com/calendar/feeds";
        var token = google.accounts.user.login(scope);
    }

function setupMyService() {
     myService = new google.gdata.calendar.CalendarService('GoCalender');
     logMeIn();
}
function handleMyFeed(myResultsFeedRoot) {
      alert("This feed's title is: " + myResultsFeedRoot.feed.getTitle().getText());
    }

    function handleError(e) {
      alert("There was an error!"+ e.cause ? e.cause.statusText : e.message);

    }
function getMyFeed() {
    setupMyService();
     var feedUrl = "https://www.google.com/calendar/feeds/jeevan@stalkninja.com.com/private/full";
    myService.getEventsFeed(feedUrl, handleMyFeed, handleError);
}
</script>
<img src="google-app-engine1.png" style="postion:absoulute; width:50px"></img>

ここでは create single イベント コードを指定していませんが、Google アカウントにユーザーを認証するつもりはありません。Google サーバーが次のようなエラーを表示しています --

「リクエストしたページを表示できません。別のサイトがあなたの Google アカウントへのアクセスをリクエストしていましたが、不正な形式のリクエストを送信しました。このメッセージを受け取ったときに使用しようとしていたサイトに連絡して、エラーを伝えてください。詳細なエラーメッセージは次のとおりです。

「次の」パラメータが間違っているか、欠落しています。」

この問題の解決策を教えてください。私はGoogle APIの初心者です。

4

2 に答える 2

2

file://で始まるURLからこれを実行していますか?そうでない場合は、ローカルWebサーバーが必要なので、URLはhttp:// localhost /のように始まります。インストールについては、よく読んでください。すでにWebサーバーを使用している場合は、ファイルへのパス/ URLに、エンコードが必要なスペースやその他の文字が含まれていないことを確認してください。これも問題を引き起こす可能性があることがわかりました。

于 2011-10-09T02:01:34.207 に答える
1

ローカルディスクからロードされたjavascriptからCalendarAPIにアクセスするときに、同じ問題が発生しました。ファイルをWebサーバーに公開し、httpプロトコルを使用してファイルにアクセスすると、問題が解決しました。APIは次のパラメーターに元のホスト名を追加しようとしていると思いますが、リダイレクトしているとき、ローカルファイルから実行すると、ホスト名はありません(明らかに)。

于 2011-05-01T16:19:37.180 に答える