[英]Get instagram access token using nodejs
我嘗試使用instagram-node模塊不使用瀏覽器請求(通過http.get()request)獲取訪問令牌,但是任何人都無法接收訪問令牌,請給我一個沒有瀏覽器交互的解決方案。
var express = require("express");
var app = express();
var http = require('http')
var api = require('instagram-node').instagram();
app.configure(function () {
app.use(express.cookieParser());
app.use(express.session({ secret: 'secret' }));
app.use(express.bodyParser());
app.use(express.json());
app.use(express.urlencoded());
});
api.use({
client_id: '',
client_secret: ''
});
var redirect_uri = 'http://localhost:5000/handleauth';
exports.authorize_user = function(req, res) {
res.redirect(api.get_authorization_url(redirect_uri, { scope: ['likes'],state: 'a state' }));
};
exports.handleauth = function(req, res) {
api.authorize_user('', redirect_uri, function(err, result) {
if (err) {
console.log(err.body);
res.send("Didn't work");
} else {
console.log('Yay! Access token is ' + result.access_token);
res.send('You made it!!');
}
});
};
app.get('/authorize_user', exports.authorize_user);
app.get('/handleauth', exports.handleauth);
http.createServer(app).listen(5000, function(){
console.log("Express server listening on port 5000");
**http.get('http://localhost:5000/authorize_user', function(res) {
console.log("statusCode: ", res.statusCode);
});**
});
沒有瀏覽器請求就無法獲得訪問令牌,因為它必須提示用戶登錄並接受權限。 獲取“ http:// localhost:5000 / authorize_user ”將重定向到instagram.com,然后單擊“確定”,它將返回您的網站。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.