我在Google云端硬盘上创建了一个实时文档。当我尝试与未安装我的应用程序的人共享此文件时,该文件成功共享,但当他们单击该文件时,显示“抱歉,无法预览”。
此实时文档是一个快捷方式文件。如何让它提示该人授权我的应用程序?
答案 0 :(得分:0)
我使用Realtime Playground作为我的示例,因为我不确定您的应用程序的具体细节。
应用授权
创建应用程序时,您访问了 Google API Console 并创建了启用了Drive API的项目。在某些时候,您复制了" 客户ID "从Google API控制台到您的应用程序ID代码。
在实时游乐场的情况下, APP_ID 在javascript文件rtpg.js中设置(您可能没有使用JavaScript,但其他语言会有相同的步骤。)
rtpg.APP_ID =' 840867953062';
文件创建
我相信您使用应用程序创建的任何驱动器实时文档/快捷方式都将包含对创建应用程序的引用(很可能是以上面获得的客户端/应用程序ID的形式)。
文件共享
一旦您看到新创建的Google云端硬盘实时文档/快捷方式,您就可以使用常规的Google云端硬盘共享方法与其他人分享。在这一点上,他们可以看到它,但不能做任何明显有用的事情。我相信您的应用程序可能与实时游乐场示例不同。
与Chrome网上应用店集成
在realtime-playground的GitHub存储库中,您会注意到一个cws(Chrome网上应用店)目录,其中包含将实时游乐场部署为Chrome商店中的Google云端硬盘应用所需的内容,包括要使用的屏幕截图。如果查看manifest.json文件,您将看到另一个对客户端ID的引用:
" api_console_project_id" :" 840867953062"
因此,如果我与没有安装它的人分享实时操场文件,那么点击Google云端硬盘中的文件将会产生一个" 连接应用& #34;弹出窗口将尝试找到相应的Chrome网上应用店云端硬盘应用(使用公共ID作为密钥),这将显示类似于您在Chrome Web Store中直接找到此应用时可能会看到的内容。
manifest.json还包含:
"应用" :{"发布" :{ "的web_url" :" https://realtimeplayground.appspot.com/" }}
告诉Google云端硬盘在调用已安装的应用时该怎么做。
所以我的猜测是,您的应用程序不能像这样工作,因为您还没有在Chrome网上应用店中公开了解您的应用。
另请参阅:Create a Chrome Web Store Listing
我希望这会有所帮助。
答案 1 :(得分:0)
没关系。如果你睁开眼睛,你会注意到Playground演示不提供任何预览
然而,你知道,相关的应用程序是可用的。您可以点击它并使用works normally打开。您的应用创建的文件操作类似。默认情况下,它们与您的应用相关联。您可以通过打开而不是预览来打开它们。你能?你不能。但那是another question。
否则,我认为将您的文件与Chrome扩展程序关联而不是与您的应用相关联时,并不聪明。
如何让它提示该人授权我的应用?
我最近有a similar question。如果open-with失败,而不是将您的文件与chrome中的扩展名相关联,请传递直接链接,例如http://your-app#fileId= ...,如同游乐场演示给您的共享伙伴。
预览似乎是另一个故事。
等等,你的意思是我需要创建一个新的帐户来测试你的文件与你的应用程序无关?如何预览主帐户中的文件?如果您知道如何预览,则至少可以部分回答my question。但是为什么要将授权与预览相关联?