“下一个”参数很糟糕或缺失

时间:2011-03-02 05:25:58

标签: javascript google-api google-data-api

我使用谷歌日历api将事件导出到谷歌日历,当用户登录我的网络应用程序时,他创建了一个事件并将相同的事件导出到谷歌日历,这是一个基本要求。我已将此代码用于身份验证

<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>

虽然我没有在这里指定创建单个事件代码,但我不会授权用户访问Google帐户。谷歌服务器给出了一个错误 -

“您请求的页面无法显示。另一个网站请求访问您的Google帐户,但发送了格式错误的请求。请在收到此邮件时联系您尝试使用的网站,以告知错误。详细的错误消息如下:

“下一个”参数不好或缺失。“

有什么问题请帮我解决这个问题。我是google apis的新手。

2 个答案:

答案 0 :(得分:2)

你是从一个以file://开头的网址运行的吗?如果是这样,它将无法工作,您需要一个本地Web服务器,以便URL开始类似http://localhost/,阅读安装一个。如果您已有Web服务器,请确保文件的路径/ URL不包含空格或其他需要编码的字符 - 我发现这也会导致问题。

答案 1 :(得分:1)

我从本地磁盘加载的javascript访问Calendar API时遇到了同样的问题。将文件发布到Web服务器并使用http协议访问它们解决了这个问题。我猜测API尝试在下一个参数中附加原始主机名,但是当它重定向时,如果从本地文件运行它,则不会有任何主机名(显然)。