Facebook SDK + Google SDK:被访问的框架将“document.domain”设置为“facebook.com”
Posted
技术标签:
【中文标题】Facebook SDK + Google SDK:被访问的框架将“document.domain”设置为“facebook.com”【英文标题】:Facebook SDK + Google SDK: The frame being accessed set 'document.domain' to 'facebook.com' 【发布时间】:2012-11-21 15:01:11 【问题描述】:我在我的页面上合并了 google javascript 客户端库。我还安装了 Facebook javascript SDK。当我启动 google 身份验证时,它可以很好地进行身份验证,但是当它回调时,我在 chrome 中得到了相同的来源错误。似乎它正在尝试回调 Facebook 帮助框架,而不是 Google 帮助框架。
gapi.auth.authorize(client_id: GlobalSettings.google_client_id, scope: scopes, immediate: false, authuser:-1, this._validateGoogle);
不安全的 JavaScript 尝试从 URL https://accounts.google.com/o/oauth2/auth?zt=ChR3VkFzQjdTLVM1M214bmQybTlURRIfc2pVUmM4YXkwc0lVdUpKVm5MNDlDYzlxUVliSGRnSQ%E2%88%99APsBz4gAAAAAUL1kGm5n1rNtBr7JzWO79BsCrWR3JQ0F&from_login=0&hl=en&as=fc48d65d9e4aad8&pli=1&authuser=0 的框架访问 URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=17#channel=f141ef255c&origin=http%3A%2F%2Fpicolocal.com&channel_path=%2Fassets%2Fchannel.html%3Ffb_xd_fragment%23xd_sig%3Df356553d18%26 的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。
不安全的 JavaScript 尝试从 URL 为 https://accounts.google.com/o/oauth2/auth?zt=ChRHWUYwOTVFck5wQUZGM1dfMFI2chIfUWhFRmJaWFlJdzBadUpKVm5MNDlDYzlnc1dISGRnSQ%E2%88%99APsBz4gAAAAAUL1fbOLmx90l39zNA-9tUFG8ghM-l8qG&from_login=0&hl=en&as=78294d299ef41f66&pli=1&authuser=1 的框架访问 URL 为 http://static.ak.facebook.com/connect/xd_arbiter.php?version=17#channel=f2a52e49dc&origin=http%3A%2F%2Fpicolocal.com&channel_path=%2Fassets%2Fchannel.html%3Ffb_xd_fragment%23xd_sig%3Df2ce0c29cc%26 的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。
【问题讨论】:
【参考方案1】:https://developers.google.com/+/best-practices/facebook 上实际上有一个关于如何合并 Facebook SDK 和 Google+ 登录的非常详细的指南。您应该使用gapi.auth.signIn() 而不是gapi.auth.authorize()
。
【讨论】:
以上是关于Facebook SDK + Google SDK:被访问的框架将“document.domain”设置为“facebook.com”的主要内容,如果未能解决你的问题,请参考以下文章
Pyjnius,用于使用 Kivy 登录按钮的 Facebook/Google SDK
如何在 chrome 扩展中加载 Google Analytics 和 Facebook SDK?
更新 google plus 和 facebook SDK 后应用程序在设备 (ios 6) 上崩溃