我想使用Line将数据传输到Google表格。
function appendMyRow(userId) {
var request = {
auth: oauth2Client,
spreadsheetId: mySheetId,
range:encodeURI("表單回應 1"),
insertDataOption: 'INSERT_ROWS',
valueInputOption: 'USER_ENTERED',
resource: {
"values": [
users[userId].replies
]
}
};
var sheets = google.sheets("v4");
sheets.spreadsheets.values.append(request, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
});
错误消息是: “ API返回错误:错误:'valueInputOption'是必需的,但未指定”
package.json的一部分: “依赖关系”:{ “ @ line / bot-sdk”:“ ^ 6.3.0”, “ express”:“ ^ 4.16.4”, “ google-auth-library”:“ ^ 0.12.0”, “ googleapis”:“ ^ 27.0.0”, “ linebot”:“ ^ 1.4.1”, “ request”:“ ^ 2.88.0” }
在valueInputOption中应设置哪些值? 我已经尝试过“ RAW”,“ RAW”,“ USER_ENTERED”,“ USER_ENTERED”。 但仍然会返回相同的错误。 谢谢!!!!!
答案 0 :(得分:1)
我本来以为API规范20181031中的参数'valueInputOption'出现错误。从技术上讲,它没有按要求定义。
发现规范将valueInputOption参数位置指定为“查询”,我现在意识到这意味着将它作为GET参数添加到路径的末尾,而不是“路径”位置值,该值表示该值已替换为路径字符串,而不是附加为GET参数。
您可能需要修改路径,以根据需要将此参数包括为GET参数。
即。对于“ sheets.spreadsheets.values.update”编辑点,规范路径应为“ v4 / spreadsheets / {spreadsheetId} / values / {range}?valueInputOption = {valueInputOption}”
我使用Perl,所以我不太确定这是如何转换为NodeJS SDK的,但它应该为您提供一个开始。
一种适用于另一种解决方案的解决方案已退回到Google api version version 25 is giving followin error: Error: 'valueInputOption' is required but not specified
中所述的API Spec早期版本。