[英]React Native Post Requests
我目前正在嘗試使用 googlesheetsAPI 向 google 表格發出簡單的發布請求。 我很容易發出獲取請求,但似乎無法發布帖子。 我遵循了多個不同來源的說明,但似乎沒有任何效果。 這是我目前的代碼:
'''
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, View, ActivityIndicator } from 'react-native';
export default class App extends React.Component {
async componentDidMount() {
try{
await fetch('https://sheets.googleapis.com/v4/spreadsheets/1586I9OO1aTT5OFG9igtuo-VTYUNI-Ec-SqyHfDSXdgo/values/sheet1?valueRenderOption=FORMATTED_VALUE&key=AIzaSyCx2qnVLidzHy9v2I76_xyLhDtyUxqc2Ls', {
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
value: '1',
})
});
} catch(e) {
console.log(e);
}
}
render(){
return (
<View></View>
);
}
}
const styles = StyleSheet.create({
container : {
flex:1,
backgroundColor: '#fff',
justifyContent: 'center',
alignItems: 'center',
},
});
'''
因此,在不使用客戶端 package 的情況下使用 Google API 時需要注意一些事項。
有些端點不需要您通過完整的OAuth flow
,而其他端點則需要。 這取決於具體情況,但一般來說,如果您通過 API 獲取敏感信息或修改數據,則很可能需要生成訪問令牌。
您必須有一個雲控制台項目實例,其中包含您的API key
和先前配置的OAuth credentials
,因為您需要該信息才能實際使用 API。
始終閱讀所需的 API 端點文檔。 不同的端點(在同一 API 內)可能期望請求中包含不同的信息。 在您的示例中,並@Tanaike
在評論中指出了這一點, spreadsheets.values.update
在您的請求中需要一個PUT
方法和一個Bearer
header(填充了您從 OAuth 身份驗證流程中檢索到的訪問令牌)。 請注意,您仍然需要將您的API key
包含在請求的 URL 中。此外,您的 URL 中/values/
之后的第一個參數需要一個 A1 表示法表示您要更新的范圍,並且請求正文需要一個object 這種格式。 在此處查看此方法的完整文檔, 在此處查看一些實現示例(使用客戶端)
所以這是您需要更改代碼的信息:
_____URL_&_PARAMETERS_____
method: 'PUT'
URL: 'https://sheets.googleapis.com/v4/spreadsheets/[spreadsheetId]/values/[rangeA1Notation]?key=[YOUR_API_KEY]'
_____REQUEST_HEADERS_____
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json
_______REQUEST_BODY_______
{
"values": [
[
"YOUR_NEW_VALUE_HERE"
]
]
}
希望它有所幫助,干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.