【发布时间】:2014-02-11 22:14:00
【问题描述】:
当我尝试通过另一个使用不同端口的站点使用 Google 日历 API 时,我收到一条错误 origin_mismatch 消息。
从http://original.domain.edu发送API请求时,代码不会返回错误。
但是,当 API 请求从https://original.domain.edu:444(这是应用程序使用的安全登录端口)发送时,代码会返回上述标题错误。
我已在我的 API 控制台中将 https://original.domain.edu:444 和 https://original.domain.edu 添加到我的 OAuth 客户端,但仍然发生相同的错误。有人可以提供一些帮助吗?
var exportCalendarToGoogle = function() {
var clientId = 'XXXXXXXXXXXXXXXXXXXXXXXXX';
var scope = 'https://www.googleapis.com/auth/calendar';
var apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXX';
var withGApi = function() {
console.log("gapi loaded");
setTimeout(function() {
gapi.client.setApiKey(apiKey);
gapi.auth.init(checkAuth);
}, 500);
}
var checkAuth = function() {
gapi.auth.authorize({client_id: clientId, scope: scope, immediate: false}, handleAuthResult);
}
var handleAuthResult = function(authResult) {
if(authResult) {
gapi.client.load("calendar", "v3", exportCalendar);
} else {
alert("Authentication failed: please enter correct login information.");
}
}
...
【问题讨论】:
-
您的出身不匹配。允许的来源将与不同的方案(http 与 https)和/或端口(80 与 444)不匹配,请完全按照使用的方式添加允许的来源。
标签: javascript api google-api google-calendar-api