这有什么问题?
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'模块。它可以是什么?顺便说一句博客的方法工作正常,但对于用户 - 信息,破折号,都失败了。
答案 0 :(得分:2)
如果请求已包含授权凭据,则401响应表示已拒绝授权这些凭据。
请参阅:W3/protocols
由于CORS限制,您将很难在浏览器中使用此库。虽然Tumblr API上的GET端点支持JSONP,但此库不适用于浏览器内使用。遗憾!
https://github.com/tumblr/tumblr.js/#in-the-browser
跨域资源共享(CORS)机制为Web服务器提供跨域访问控制,从而实现安全的跨域数据传输。现代浏览器在API容器中使用CORS(例如XMLHttpRequest或Fetch)来降低跨源HTTP请求的风险。
请参阅:MDN
在此处尝试使用您的代码,并查看您的api密钥和令牌(如果错误则会导致401错误)
https://api.tumblr.com/console/calls/user/dashboard
您可以使用普通的api(这只是node.js的包装器):
只需执行GET
请求:
api.tumblr.com/v2/user/info
请参阅:API
SuperAgent是一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能。
request
.get('http://api.example.com')
.auth('user', 'pass123')
.end(callback);
请参阅:Docs
顺便说一句:欢迎PR!注意:这只是
tumblr.js
和react
的快速而肮脏的实现,请不要直接使用此代码,而是自行实现。
设置:安装依赖项并运行npm start
以启动服务器
npm install & npm start
使用MasterKey
中的实际代币/键重新dist/server.js
:
// Authenticate via OAuth
const tumblr = require('tumblr.js');
const client = tumblr.createClient(MasterKey);