我读过很多其他人有一半的问题,并尝试了他们的解决方案,但我无处可去。
我首先在此处从 google 运行示例教程: https ://campus.codeschool.com/courses/discover-drive/
然后我从这里运行示例代码: https ://developers.google.com/picker/docs/index
使用我的 API 和客户端密钥运行这些代码(我什至创建了新密钥,尝试仅使用 .apps.googleusercontent.com 之前的部分作为客户端密钥,正如我在其他一些示例代码中看到的那样)和我得到相同的结果。
该页面加载并要求访问帐户的谷歌驱动器的权限一旦我授予它权限,它就会恢复为以下错误:
我有一个无用的窗口错误,上面写着:
有一个错误!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 不起作用