0
使用Google Javascript API我試圖通過身份驗證(本地)來在我的日曆中創建新事件。但是,當我執行腳本的登錄部分時,出現錯誤(請參閱下文),指出我的「下一個」參數錯誤或丟失。我正在關注「創建單個事件」的數據api interactive samples。Google API身份驗證
更新1:從地址欄之我見「下一步」設置方式如下:
next=file:///C:/calext/sending_data.html
谷歌是否不喜歡本地文件?解決方法?
更新2:我試着在我的虛擬主機上運行該文件。該頁面運行(拋出一些錯誤),但事件結束在我的日曆上。所以這個bug存在於不喜歡本地文件的地方。思考?
錯誤消息:
您請求的頁面無法顯示 。另一個網站請求 訪問您的Google帳戶,但 發送了格式錯誤的請求。請 聯繫您嘗試使用 的網站,以便在收到此消息時使用 以通知其錯誤。 A 詳細的錯誤信息如下:
「下一個」參數錯誤或缺少 。
我的頁面代碼:
<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>