0

使用Google Javascript API我試圖通過身份驗證(本地)來在我的日曆中創建新事件。但是,當我執行腳本的登錄部分時,出現錯誤(請參閱下文),指出我的「下一個」參數錯誤或丟失。我正在關注「創建單個事件」的數據api interactive samplesGoogle 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> 

回答

0

我假設你打開它需要一個本地文件的本地文件。默認情況下,file:// URIs不能讀取其他文件:// URI。嘗試添加這個命令行參數,它是專門用來幫助開發人員測試的:

chrome --allow-file-access-from-files