当前位置: 首页 > 知识库问答 >
问题:

在nodejs中使用twitter API时如何解决"被CORS策略阻止"?

田晨
2023-03-14

我有这个代码块,我正在测试,看看如果点击它的按钮,它是否会发送推文。

  const onTweet = () => {
    client.post('statuses/update', {status: 'Testing'})
    .then(function (tweet) {
      console.log(tweet);
    })
    .catch(function (error) {
      console.log(error + " error")
    });
  }

然而,每次我点击按钮,我都会得到这个确切的错误

Access to fetch at 'https://api.twitter.com/1.1/statuses/update.json' from origin 'http://localhost:1234' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

我曾尝试在网上研究如何修复或解决它,但我认为我找到的解决方案不适用于我的问题。例如,此post访问从源站获取http://localhost:3000“已经被CORS政策阻止,他说要将模式设置为无CORS,但我认为这不适用于我的问题,因为我没有使用CORS发布这条推文。这是在nodeJS中,后端是用firebase和react路由器dom构建的。

另外,如果有人能链接到官方的twitterapi nodejs文档,我将不胜感激。如果有,我还没找到。

共有1个答案

闽康安
2023-03-14

看起来twitter API没有CORS支持。您可以尝试这里提到的扩展或Postman/Curl等变通方法-

https://stackoverflow.com/a/35898961/7895283

https://twittercommunity.com/t/will-twitter-api-support-cors-headers-soon/28276/6

 类似资料:
  • 我有一个flask socketio服务器,运行在带有nginx的ubuntu上。我有一个客户端调用服务器。当我尝试呼叫服务器时,收到以下错误: 这是我对烧瓶的初始化: ... 这是我当前在nginx中的配置: 来自客户端对服务器的请求如下所示: 我尝试过: -添加允许CORS到位置/仅,以及两者-在烧瓶应用程序中删除/添加allow CORS origin。 有人能帮忙吗?

  • 如果用户单击“允许”,应用将从 Reddit 接收授权代码,以便它可以向 Reddit API 发出 API 请求。从上面可以看出,将用户导航到上方页面的URL适用于桌面chrome浏览器。然而,在Android模拟器中,我可以从网络视图看到reddit上的加载页面,但是网络视图突然在Logcat上出现以下错误: “访问位于'的XMLHttpRequest”https://events.reddi

  • 我的应用程序的客户端是.NET6,服务器端web API是.NET 4.8。当尝试访问服务器端时,浏览器控制台中会产生以下错误: CORS策略已阻止从源“https://localhost:34564”访问“https://localhost:12345/API/controller/method”进行提取:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透

  • 当我使用HTML2Canvas评估图像时,我得到了这个错误。 CORS策略阻止从来源“http://localhost:8080”访问位于“http://testdomain.com/storage/images/products/user_front.png”的映像:请求的资源上没有“Access-Control-Allow-Origin”标头。 下面是我的cors配置。 有人能帮我吗?

  • 我有一个在Node开发的API。JS,打字稿听localhost:3001我有一个Angular的前端应用程序,打字稿听localhost:4200 我正在尝试使用ngx-image-cropper上传图像文件,将其转换为base 64,从前端到API。 当补丁(更新)http请求发送到API时,我得到: 访问位于'http://localhost:3001/member/10'从原点'http:

  • 我遇到了一个问题,试图在Angular 9应用程序中打开SockJS套接字,并使用SimpMessageTemboard从Spring后端写入此套接字。此任务的主要目标是实时接收和显示传入数据,而不进行外轮询。 我的原始实现基于mouadelfakir完成的现有存储库,但实现使用了较旧版本的软件(Angular~1和Spring Boot~1.5)。当更新到新版本时,Angular 9更新没有改变