Estoy trabajando en una aplicación de MS Teams que carga un nuevo archivo en Teams OneDrive conectado a través de Graph-API, pero no puedo obtener la autenticación para mi aplicación.
La documentación que he encontrado sobre el tema no menciona reaccionar en absoluto, por lo que no he podido hacer funcionar la autenticación (ya que soy muy nuevo en javascript y reacciono y necesito un ejemplo claro). Si simplemente pudiera encontrar un token de autorización válido en algún lugar, entonces podría simplemente codificarlo y funcionaría.
De lo contrario, ¿cómo obtengo la autenticación de usuario/aplicación para cargar mi archivo en OneDrive a través de Graph-API?
Aquí está mi código:
import React from 'react'; import './App.css'; import * as microsoftTeams from "@microsoft/teams-js"; class Tab extends React.Component { constructor(props){ super(props) this.state = { context: {} } } componentDidMount() { var myHeaders = new Headers(); myHeaders.append("Content", "text/plain"); myHeaders.append("Content-Type", "text/plain"); myHeaders.append("Authorization", "Bearer {token}"); var raw = "This works"; var requestOptions = { method: 'PUT', headers: myHeaders, body: raw, redirect: 'follow' } fetch("https://graph.microsoft.com/v1.0/sites/OpenSesameTest/Shared%20Documents/General/FileB.txt:/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error)); } render() { return ( <form> <div> <label>Select file to upload</label> <input type="file"></input> </div> <button type="submit">Upload</button> </form> ); } } export default Tab;Mi fetch parece estar funcionando correctamente, aparte del error de autenticación que me está dando.
Sigue los pasos aquí .
En primer lugar, debe registrar una aplicación y generar un secreto de cliente en su Azure Active Directory. Luego, puede usar la identificación de la aplicación y el secreto del cliente en una solicitud POST a https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token para obtener un token de autorización.
Luego puede usar este token en lugar de {token} en su código.
Si aún no lo ha hecho, puede registrar un arrendatario de Office 365 de sandbox para realizar pruebas a través delPrograma para desarrolladores de Microsoft 365 .