【问题标题】:Tumblr.js 401 UnauthorizedTumblr.js 401 未经授权
【发布时间】:2018-01-05 23:59:08
【问题描述】:

这有什么问题?

var tumblr = require('tumblr.js');
var client = tumblr.createClient({
  consumer_key: '...',
  consumer_secret: '...',
  token: '...',
  token_secret: '...'
});

client.userInfo(function (err, data) {
    if (err)
        console.log(err);
    console.log(JSON.stringify(data,null,'\t'));
});

每个密钥都在它的位置,无论如何在 Chrome 控制台“401 未经授权”! 我正在使用 'simple-react-app' 和官方的 'tumblr.js' 模块在 localhost 上制作它。它可以是什么?顺便说一下,博客的方法工作正常,但对于用户信息,破折号,都失败了。

【问题讨论】:

  • 不能在浏览器中使用,在你的服务器代码中添加...
  • 你能给我举个例子吗?
  • 尝试为您的服务器使用express,找不到示例^^
  • 你在哪里使用客户端?
  • 伙计,方法博客工作正常。无论如何,我已经明白,如果没有 Express.js 的后端,我将无法完成这项任务。

标签: node.js api reactjs npm tumblr


【解决方案1】:

401 未经授权

如果请求已包含授权凭据,则 401 响应表明已拒绝对这些凭据的授权。

见:W3/protocols

在浏览器中

由于 CORS 限制,您将很难在浏览器中使用此库。尽管 Tumblr API 上的 GET 端点支持 JSONP,但此库不适合在浏览器中使用。对不起!

https://github.com/tumblr/tumblr.js/#in-the-browser

跨域资源共享 (CORS)

跨域资源共享 (CORS) 机制为 Web 服务器提供跨域访问控制,从而实现安全的跨域数据传输。现代浏览器在 API 容器(例如 XMLHttpRequest 或 Fetch)中使用 CORS 来降低跨域 HTTP 请求的风险。

见:MDN

Tumblr 控制台

在此处尝试您的代码,并查看您的 api 密钥和令牌(如果错误,可能会导致 401 错误)

https://api.tumblr.com/console/calls/user/dashboard

Tumblr API

您可以使用普通的 api(这只是 node.js 的包装器):

只需发送GET 请求:

api.tumblr.com/v2/user/info

见:API

超级代理

SuperAgent 是一个小型渐进式客户端 HTTP 请求库,与具有相同 API 的 Node.js 模块,具有许多高级 HTTP 客户端功能。

request
  .get('http://api.example.com')
  .auth('user', 'pass123')
  .end(callback);

见:Docs

示例

注意:这只是tumblr.jsreact 的快速而肮脏的实现,请不要直接使用此代码,而是自己实现。

顺便说一句:欢迎 PR!

github/btzr-io/react-tumblr

设置:安装依赖并运行npm start启动服务器

 npm install & npm start

MasterKey 替换为dist/server.js 中的实际令牌/密钥:

// Authenticate via OAuth
const tumblr = require('tumblr.js');
const client = tumblr.createClient(MasterKey);

【讨论】:

  • 那么,我如何在 React 中使用这个 API,你能给我举个例子,或者教程吗?实在看不懂。
  • @EzhiMakov 你想做什么? ^^
  • 我正在尝试获取我的仪表板/提要帖子并以我的方式在页面上显示它们
  • 您是否尝试使用 api(http 请求)而不是客户端? ^^
  • @EzhiMakov 添加了一个例子^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
  • 2018-05-19
  • 2020-06-11
  • 2017-02-22
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多