Chrome расширение - передача информации в API - получение Cors 400 - PullRequest
1 голос
/ 02 февраля 2020

Я пытаюсь взять текст через расширение chrome и опубликовать его в Google API.

В настоящее время я получаю эту ошибку.

POST https://language.googleapis.com/v1/documents:analyzeSentiment?key=PASSWORD 400
Response {type: "cors", url: "https://language.googleapis.com/v1/documents:analy…iment?key=strongPassword", redirected: false, status: 400, ok: false, …}
body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 400
statusText: ""
type: "cors"
url: "https://language.googleapis.com/v1/documents:analyzeSentiment?key=Strongk"
__proto__: Response

У меня есть попробовал использовать XMLHttpRequest вместо fetch, протестировал код ниже (* fetch used).

function sendData(text) {
    console.log(text);
// json p?
    var request = {
        document: {
            type: 'PLAIN_TEXT',
            content: text
        },
        encodingType: 'UTF8'
    };
    //use another type of call?
    var jsonRequest = JSON.stringify(request)
    console.log("JSON STRING: "+jsonRequest)
    fetch('https://language.googleapis.com/v1/documents:analyzeSentiment?key=StrongkPword', {
    mode:'cors',    
    method: 'POST',
        body: jsonRequest,
        headers: {
            'Content-Type': 'application/json'
        }
    }).then((res) => {
        console.log(res)
        console.log(res.body)
    });
}

Итак, мои нынешние мысли: JsonP нужно использовать, или есть что-то еще не совсем правильное.

Отправляемый текст:

JSON STRING: {"document":{"type":"PLAIN_TEXT","content":"GIVE IT A STAB.. YEAH...PLZWORK "},"encodingType":"UTF8"}

{
    "manifest_version": 2,
    "name": "C.E",
    "short_name": "MRPHASMD",
    "version": "1.0",
    "author": "MICHAEL HOLBORN",

    "description": "A minimal extension which demonstrates ma power level.",

    "content_scripts": [
        {
            "matches": [ "*://mail.google.com/*" ],
            "js": [
                "src/extensionInjector.js"
            ],
            "run_at": "document_end"
        }
    ],

    "web_accessible_resources": [
        "dist/extension.js"
    ],

    "permissions": [
        "https://*/*"
    ]
}

Я не совсем понимаю, как заставить это работать, и ценю вашу помощь!

1 Ответ

0 голосов
/ 23 февраля 2020

Я решил этот вопрос, используя API chrome для отправки сообщений в фоновый скрипт и затем в мой API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...