Я работал над расширением Chrome, которое вызывает Reddit API с помощью Snoowrap, установленного Node. До сегодняшнего дня он работал отлично. Все мои запросы теперь возвращают пустые ответы, и в консоли появляется следующее предупреждение:
Блокировка перекрестного происхождения (CORB) заблокировала ответ перекрестного происхождения
https://oauth.reddit.com/r/askreddit/hot?raw_json=1&count=9999&t= с
Приложение MIME типа / JSON. Увидеть
https://www.chromestatus.com/feature/5629709824032768 для более
подробности.
Я тестировал с простым запросом, и это не удалось. Это в скрипте содержимого, используя Browserify:
var snoowrap = require('snoowrap');
var CONFIG = require('./config.json');
var hiddenUpvoteElements;
var r = new snoowrap({
userAgent: CONFIG.userAgent,
clientId: CONFIG.clientId,
clientSecret: CONFIG.clientSecret,
refreshToken: CONFIG.refreshToken
});
r.getSubreddit("askreddit").getHot().then(console.log);
Соответствующий manifest.json
материал (пробовал много разных вещей, чтобы попытаться заставить его работать):
"manifest_version": 2,
"permissions": [
"tabs",
"https://www.reddit.com/*",
"https://old.reddit.com/*",
"activeTab",
"https://oauth.reddit.com/*"
],
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["*://*.reddit.com/*"],
"js": ["bundle.js"],
"run_at": "document_end"
}
],
"content_security_policy": "script-src 'self' https://oauth.reddit.com; object-src 'self'"
Я нахожу это действительно странным, потому что до сегодняшнего дня оно работало нормально. Мой компьютер вчера перезагружался, и, возможно, он применил обновление к ОС или Chrome или что-то. Я тестировал Python и Praw с той же информацией, которую использовал для инициализации экземпляра snoowrap, и он работает с этим.
Буду признателен за любой совет, что я могу сделать, чтобы обойти это. Заранее спасибо.