无法从来源“ https://www.reddit.com”访问<my-google-cloud-function>处的提取... CORS

问题描述

我正在研究Google Chrome扩展程序,以基于在Google Cloud Storage中以Python运行的某些后端计算机视觉,阻止用户的Reddit feed中的帖子中的图像子集。 Python代码采用一个参数(Reddit中图像的URL),该参数通过以下方式在JavaScript中传递:

const api_url = https://<my-google-chrome-url>

var curUrl = $(this).attr("src")
fetch(api_url,{
  method: 'POST',body: JSON.stringify(curUrl),headers: {
    'Content-Type': 'application/json'
    },})
  .then(data => {console.log(data)})

运行扩展的代码时,我在控制台中得到以下内容: CORS政策禁止从来源“ https://www.reddit.com”访问“ https:// this-is-the-path-to-my-google-cloud-function”:对预检请求的响应未通过访问控制检查:请求的资源上不存在“ Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。

我尝试了多种解决方案,如下所示:

  1. 我已按照here的说明进行操作,因此通过使用Google的gsutil,我可以确认以下各项对我的函数所在的存储桶是正确的:[{"maxAgeSeconds": 3600,"method": ["GET","POST"],"origin": ["https://www.reddit.com"],"responseHeader": ["Content-Type"]}]。我也曾尝试将["*"]作为我的出身,但无济于事。
  2. 我也尝试在获取过程中使用mode: no-cors,但未成功。

任何建议或解决方案将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)