2013-04-16 104 views
2

我想要的“驱动器共享”弹出式集成在我的应用程序,这之后如何做:https://developers.google.com/drive/manage-sharing#launching_the_google_drive_sharing_dialog_in_your_app硬盘共享弹出不会打开

一切运行良好,直到我有效地打开它。 几秒钟后,我得到一个错误信息:

控制台包含这个错误:“拒绝显示 'https://drive.google.com/share?id=0BzH05IFzFfzuZWdXYzZPZHRkaUk&foreignServi ... tr.apps.googleusercontent.com & embedOrigin =的http%3A%2F%2Fvideo.unishared.com'因为它将'X-Frame-Options'设置为'SAMEORIGIN'。“

我想它与此要求有关:”启动对话框的页面的URL必须与Open URL的来源相同注册该应用程序“。但在这里是这样的。

我无法弄清楚这里有什么问题。 感谢您的帮助。

编辑

一些我们的用户报告了这个问题,它是随机发生的,在不同的浏览器。 它没有完全解决。

回答

2

好吧,我刚才知道我的实现出了什么问题。

我所用的应用程序ID,你可以在API控制台中找到适合你的客户,“API访问权限”选项卡(类似... apps.googleusercontent.com)

我刚刚发现了一个其它ID在“Drive SDK”选项卡中,位于标题下方。当使用它时,弹出窗口最终显示出来!

+0

您是否需要启用Drive SDK才能共享文件?我有Drive API是不够的?我也遇到了同样的错误。 – Giannis

+0

嗨,是的,你需要启用Drive SDK才能使它工作。用于创建弹出窗口的应用程序ID是在API控制台的Drive SDK选项卡中的标题“Google Drive”下方标示的。 –

+0

非常感谢 - 结束了我想知道的时间。 –

0

你应该允许你的嵌入起源作为白名单Javascript起源于API Console。很抱歉,我无法给您提供直接链接,但它位于API访问标签下。

+0

嗨,谢谢你的回答!我已经设置了这些来源:“http://video.unishared.com http://staging.unishared-gae.appspot.com http:// localhost:8080”并且它不能解决此问题。 文档没有提到这个字段,它只是说起源必须和打开的URL相同。 –

+0

还需要安装应用程序 - 授权时添加drive.install范围。 'errorMessage':“未安装ID为\ x22107160330549 \ x22的应用程序。” 添加安装后范围: ‘的errorMessage’:‘对不起,您所要求的项目(S)不可用’, 第二届误差可能来自一个事实,即ID硬编码为不拥有的东西来了。通过我。 –

+0

感谢史蒂夫您的答案。应用程序总是安装在我身边。ID是不硬编码,你可以看到这里:https://gist.github.com/arnaudbreton/5398733 –

0

有多种制约因素:

  • 的JS起源需要匹配打开或创建URL的驱动器SDK设置
  • 的应用程序需要安装。

从尝试你的演示,它似乎是问题是它没有安装的事实。错误(在响应中的一个的身体埋)是:

'errorMessage': "No application with ID \x22107160330549\x22 is installed.", 

添加安装范围后:

'errorMessage': "Sorry, the item(s) you requested are not available." 

第2误差可能来自一个事实,即ID被硬编码的东西不来归我所有。

+0

感谢您的回答史蒂夫. 在我的身边,应用程序始终安装。 ID不是硬编码的,它在调用弹出窗口时传递,以下是用于实现的代码:https://gist.github.com/arnaudbreton/5398733 是否有解决方法匹配的开放式URL限制?我需要测试它,但不想在我的生产实例上进行测试。也许创建一个“舞台应用程序”? –

+0

是的,为dev/staging创建第二个应用程序并适当地设置URL(仅供参考,我使用https://forwardhq.com/代理我的笔记本电脑,这很好地工作,给我稳定的URL)有一些错误提交给我放松这些限制或使它们更加灵活,但是在进行这些更改时没有ETA。 –

+0

好的,我会尽力,谢谢你的回答。 昨天我在生产环境中进行了简短的测试,使用了正确的URL,但不起作用。 –