簡體   English   中英

反應本機發布請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM