使用Google Javascript API我正在尝试对自己进行身份验证(本地)以在我的日历中创建新事件。但是,当我执行脚本的登录部分时,我收到一个错误(见下文),说明我的“下一个”参数是错误的或丢失的。我正在关注“创建单个事件”的数据api interactive samples。
更新1:从地址栏我看到“下一步”设置如下:
next=file:///C:/calext/sending_data.html
Google不喜欢本地文件吗?解决办法:
更新2:我尝试在我的网络主机上运行该文件。页面运行(抛出一些错误),但事件最终在我的日历上。所以这个错误位于不喜欢本地文件的地方。想法?
错误讯息:
您请求的页面不能 显示。另一个网站正在请求 访问您的Google帐户,但是 发送了格式错误的请求。请 联系您尝试的网站 收到此消息时使用 通知他们错误。一个 详细错误消息如下:
“下一个”参数不好或 丢失。
我的网页代码:
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
</head>
<body>
<img src="128.png">
<script type="text/javascript">
var myService;
var feedUrl = "https://www.google.com/calendar/feeds/default/private/full";
google.load("gdata", "1");
google.setOnLoadCallback(getMyFeed); // starts process
// Create a single event example
function doExample()
{
var calendarService = myService;
// The default "private/full" feed is used to insert event to the
// primary calendar of the authenticated user
var feedUri = 'http://www.google.com/calendar/feeds/default/private/full';
// Create an instance of CalendarEventEntry representing the new event
var entry = new google.gdata.calendar.CalendarEventEntry();
// Set the title of the event
entry.setTitle(google.gdata.Text.create('JS-Client: insert event'));
// Create a When object that will be attached to the event
var when = new google.gdata.When();
// Set the start and end time of the When object
var startTime = google.gdata.DateTime.fromIso8601("2010-10-24T09:00:00.000-05:00");
var endTime = google.gdata.DateTime.fromIso8601("2010-10-24T10:00:00.000-05:00");
when.setStartTime(startTime);
when.setEndTime(endTime);
// Add the When object to the event
entry.addTime(when);
// Submit the request using the calendar service object
calendarService.insertEntry(feedUri, entry, handleMyFeed, handleError, google.gdata.calendar.CalendarEventEntry);
}
function handleMyFeed(myResultsFeedRoot)
{
alert("This feed's title is: " + myResultsFeedRoot.feed.getTitle().getText());
}
function handleError(e)
{
alert("There was an error!");
alert(e.cause ? e.cause.statusText : e.message);
}
function getMyFeed()
{
// Set up my service
myService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
// Log me in
var scope = "https://www.google.com/calendar/feeds/";
var token = google.accounts.user.login(scope);
// Create a single event example
doExample();
// Get my feed
myService.getEventsFeed(feedUrl, handleMyFeed, handleError);
}
</script>
</body>
</html>
答案 0 :(得分:0)
我假设你打开一个需要本地文件的本地文件。默认情况下,file:// URIs无法读取其他file:// URI。尝试添加此命令行参数,它专门用于帮助开发人员测试:
chrome --allow-file-access-from-files