2

我读过很多其他人有一半的问题,并尝试了他们的解决方案,但我无处可去。

我首先在此处从 google 运行示例教程: https ://campus.codeschool.com/courses/discover-drive/

然后我从这里运行示例代码: https ://developers.google.com/picker/docs/index

使用我的 API 和客户端密钥运行这些代码(我什至创建了新密钥,尝试仅使用 .apps.googleusercontent.com 之前的部分作为客户端密钥,正如我在其他一些示例代码中看到的那样)和我得到相同的结果。

该页面加载并要求访问帐户的谷歌驱动器的权限一旦我授予它权限,它就会恢复为以下错误:

Jconsole 错误

我有一个无用的窗口错误,上面写着:

有一个错误!API 开发者密钥无效。

现在其他人说错误是正常的,他们的代码仍然有效。另一方面,我的不起作用,它给了我这个错误。

<script>
  var clientId = '249642562982-8ss843cvik6r1rrm94i1kt5cf4jf201c.apps.googleusercontent.com';
  var developerKey = 'AIzaSyBeDBmIqzCYCNvrpSwXcLz6ido_qGZL6sg';
  var accessToken;
  function onApiLoad() {
    gapi.load('auth', authenticateWithGoogle);
    gapi.load('picker');
  }
  function authenticateWithGoogle() {
    window.gapi.auth.authorize({
      'client_id': clientId,
      'scope': ['https://www.googleapis.com/auth/drive']
    }, handleAuthentication);
  }
  function handleAuthentication(result) {
    if(result && !result.error) {
      accessToken = result.access_token;
      setupPicker();
    }
  }
  function setupPicker() {
    var picker = new google.picker.PickerBuilder()
      .setOAuthToken(accessToken)
      .setDeveloperKey(developerKey)
      .addView(new google.picker.DocsUploadView())
      .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
      .setCallback(myCallback)
      .build();
    picker.setVisible(true);
  }
  function myCallback(data) {
    if (data.action == google.picker.Action.PICKED) {
      alert(data.docs[0].name);
    } else if (data.action == google.picker.Action.CANCEL) {
      alert('goodbye');
    }
  }
</script>
<script src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>

这是我的钥匙

这让我发疯!感觉就像我已经尝试了一切,但没有任何效果。谷歌为什么要花时间创建一个教程网站,如果翻转的结果代码不起作用,它会提供完整的视频课程来检查你的代码的有效性!?如果视频和示例代码损坏,请删除它!我在这上面浪费了一整天。

谁能帮我弄清楚这里发生了什么?

参考:

如何从我的网站上传谷歌驱动器上的文件?

在 iFrame 中使用 Google Drive 不起作用

Google Drive Picker - 开发者密钥无效错误

谷歌云端硬盘 API OAuth 2.0;错误:origin_mismatch

4

1 回答 1

1

我会推荐使用这个例子。我也测试了这个例子,它对我有用。您可以根据需要编辑范围。

于 2015-01-03T01:23:50.573 回答