मैं एमएस ग्राफ एपीआई से उपयोगकर्ता प्राप्त करने की कोशिश कर रहा हूं।

export const getUser = async (id) => {
    //Gives me the token
    const token = await getToken(["User.Read", "User.ReadWrite"])
    //Appends to headers
    const headers = getHeaders(token)
    
    const options = {
        method: "GET",
        headers: headers
    };
    return fetch(`https://graph.microsoft.com/v1.0/users/${id}`, options)
}

getUser("MYID").then(response => response.json()).then(response => {
    debugger
}).catch((error) => {
    debugger
})

आम तौर पर मैं एमएस ग्राफ से वादों को हल करने के लिए .json() का उपयोग कर सकता हूं, लेकिन यह कॉल निम्न त्रुटि के साथ विफल हो जाती है:

अनपेक्षित टोकन

अगर मैं .json() को हटा दूं तो मैं प्रतिक्रिया पढ़ सकता हूं, जो मुझे निम्नलिखित देता है:

response: Response
body: ReadableStream
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "basic"

इस तथ्य को देखते हुए कि बॉडी ऑब्जेक्ट रीडेबलस्ट्रीम प्रकार का होना चाहिए, मेरा अंतर्ज्ञान मुझे बताता है कि मुझे वास्तव में .json(), यानी response.body.json() के साथ वादे को हल करने में सक्षम होना चाहिए। हालांकि, जब मैं ऐसा करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि मिलती है:

लेखन त्रुटि: response.body.json http://localhost:3000/static/js/main.chunk.js:4679:40 पर एक फ़ंक्शन नहीं है

मैं बहुत अनिश्चित हूं कि क्या हो रहा है, और स्वाभाविक रूप से मुझे अच्छा लगेगा यदि आप लोग मुझे कुछ अंतर्दृष्टि दे सकते हैं कि क्या हो रहा है। जब मैं पठनीय स्ट्रीम को हल करना चाहता हूं तो मेरे सभी अन्य ग्राफ "GET" कॉल में कोई समस्या नहीं आती है।

0
Jeppe Christensen 4 सितंबर 2021, 11:21
2
क्योंकि यह एक json नहीं है, यह पठनीय स्ट्रीम है। developer.mozilla.org/en-US/docs/Web/ एपीआई/स्ट्रीम_एपीआई/…
 – 
extempl
4 सितंबर 2021, 11:24

1 उत्तर

सबसे बढ़िया उत्तर

मेरा मानना ​​है कि आपको एचटीएमएल या एक्सएमएल के रूप में प्रतिक्रिया निकाय मिल रहा है, यही कारण है कि .json() जो डेटा को जेसन में पार्स करने के लिए उपयोग किया जाता है, अपवाद फेंक रहा है अप्रत्याशित टोकन < JSON में स्थिति 0 पर

0
Tejaswini Reddy 4 सितंबर 2021, 11:41