我已经尝试了一切让Google的示例Dr Edit(https://developers.google.com/drive/web/examples/java)工作但无济于事。我正在使用该应用程序的Java版本。如果您点击我的应用程序URL,则可以安装该应用程序并在驱动器中创建新文档。
https://indigo-cirrus-700.appspot.com
现在尝试打开一个新文件。您收到错误消息,指出凭据无效(缺少或无效的oAuth令牌)
此外,如果您转到谷歌驱动器本身,名为Dr Edit的应用程序不会显示为创建文档的选项。单击上一步中通过Dr Edit创建的txt文档也不会启动dr编辑,只显示预览。
最后,如果您点击管理应用,则设置为默认值不会显示在应用旁边。
它几乎就像应用程序未正确安装或oAuth无法正常工作有没有人有任何想法?我跑出去了
作为旁注,我也尝试了python示例应用程序。结束与java应用程序完全相同的工作。您可以通过dr编辑创建一个新的应用程序,但这就是全部。
感谢
答案 0 :(得分:0)
如this documentation中所述,您需要为项目启用Picker API。这应该解决" open"问题。
答案 1 :(得分:0)
大卫正确地向我指出了调查谷歌选择器的方向。编辑博士是一个不完整的例子。您仍然需要启用Google Picker并编辑controllers.js,将.setOAuthToken()添加到选择器。因此失踪,总是让我丢失或无效的oAuth令牌。要将oauthtoken放到呼叫页面上,您必须将其添加到新范围或只是将其添加到用户范围。这就是我做的。
对于dr编辑的python版本。 在main.py User Handler.get()add
中creds = self.GetSessionCredentials()
if creds:
result['access_token'] = creds.access_token
然后在controllers.js MenuCntrl中为$ scope.open
var appElement = document.querySelector('[ng-controller=UserCtrl]');
var accessToken = angular.element(appElement).scope().user['access_token']
var view = new google.picker.View(google.picker.ViewId.DOCS);
view.setMimeTypes('text/plain');
var picker = new google.picker.PickerBuilder()
.setAppId(appId)
.addView(view)
.setOAuthToken(accessToken)
.setCallback(angular.bind(this, onFilePicked))
.build();
picker.setVisible(true);
所以应用程序现在运行良好。它只是谷歌驱动器界面没有看到我的应用程序已安装并能够打开的东西。我缺少什么想法?