我正在尝试使用apiGoogle Node.js客户端库访问Google Drive API,以便将一些文件上传到我的云端硬盘帐户。
到目前为止我的代码:
var drive = google.drive({ version: 'v3' });
drive.apiKey = "API_KEY"
drive.setScope = "https://www.googleapis.com/auth/drive.file"
drive.files.create({
resource: {
name: 'text.text',
mimeType: 'text/plain',
parents:['1ATscm2nsE9KpjA66iXHB9jnMrbyik7PP']
},
media: {
mimeType: 'text/plain',
body: fs.createReadStream('files/text.text')
}
});
错误:
errors:
[ { domain: 'global',
reason: 'required',
message: 'Login Required',
locationType: 'header',
location: 'Authorization' } ] }
有人可以帮忙解决这个问题吗?
答案 0 :(得分:1)
您似乎错过了授权。首先,您需要在开发人员控制台中打开Drive API。然后,您可以使用以下代码替换为您的凭据。
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.define('User', {
extend: 'Ext.data.Store',
autoLoad: true,
alias: 'store.user',
fields: ["id", "name", "orders"],
proxy: {
type: 'ajax',
url: 'users.json',
reader: {
type: 'json',
rootProperty: 'users'
}
}
});
Ext.define('Order', {
extend: 'Ext.data.Store',
alias: 'store.order',
field: ["id", "price", "quantity", "product"],
storeId: 'order'
});
Ext.create('Ext.form.Panel', {
title: 'Example Combo',
bodyPadding: 5,
defaults: {
width: 250
},
// The fields
defaultType: 'combo',
items: [{
name: 'L1_combo_box',
displayField: 'id',
valueField: 'id',
queryMode: 'local',
emptyText: 'Select user',
store: {
type: 'user'
},
listeners: {
select: function (combo, rec) {
var L2_combo_box = combo.up('form').getForm().findField('L2_combo_box'),
order = rec.get('orders') || [],
data = [];
//reset combo value
L2_combo_box.reset();
//If order have multipe data then need use forEach for all data
order.forEach(item => {
data = data.concat(item.order_items);
});
//load data in combo store
Ext.getStore('order').loadData(data);
}
}
}, {
emptyText: 'Select order items',
name: 'L2_combo_box',
displayField: 'id',
valueField: 'id',
queryMode: 'local',
store: {
type: 'order'
}
}],
renderTo: Ext.getBody()
});
}
});
如果您对此有更多疑问,可以在github上查看此部分。
或者,如果您还没有查看他们的文档here。
答案 1 :(得分:0)
您可以参考此thread。确保您为访问令牌发送access_token={your oauth2 access token}
而非key={your key}
。您可以查看此documentation以获取更多信息。