这有效:
$.post(
'http://api.imgur.com/2/upload.json',
{
key: 'dsfdwerwersf53534dfsfse3',
image: 'http://i.imgur.com/UH17u.png'
},
function( data ) { console.log( data.upload.links.original ); }
);
当我在 Chrome 的控制台中运行它时,imgur 会立即向我发送上传图片的 url http://i.imgur.com/KrHMY.png
:. 出色的。
.
现在我正在使用 node.js 在服务器端尝试同样的事情,但它不起作用:
var
express = require( 'express' )
, app = express.createServer()
, request = require( 'superagent' );
app.get( '/', function( req, res ) {
request
.post( 'http://api.imgur.com/2/upload.json' )
.send( { key: 'dsfdwerwersf53534dfsfse3', image: 'http://i.imgur.com/UH17u.png' } )
.end( function( data ) {
console.log( data.upload.links.original );
});
});
app.listen( '8080' );
当我运行 node.js 应用程序时,imgur 会发回这个响应:
text: '{"error":{"message":"No API key was sent, and no user is authenticated","request":"\\/2\\/upload.json","method":"post","format":"json","parameters":"image = {\\"key\\":\\"dsfdwerwersf53534dfsfse3\\",\\"image\\":\\"http:\\/\\/i.imgur.com\\/UH17u.png\\"}"}}',
关键部分是这样的:No API key was sent
。为什么 imgur 无法识别key
我正在发送的POST
?
我试过同时使用request
和superagent
模块。我觉得很傻,无法弄清楚为什么这么简单的事情不起作用。感谢任何指针。