我正在尝试设置一个定时任务来连接Instagram API、获取‘我的动态’并下载图片。但我无法完成OAuth 2.0步骤。我已经查看了多个资源,包括:
如何从AppScript授权使用OAuth 2.0连接Google APIs?——这些方法已被弃用,我无法让弹出框显示OAuth授权。
https://code.google.com/p/google-apps-script-issues/issues/detail?id=2580 以及在讨论中跟随的所有链接。我无法弄清如何在没有HTML页面的情况下应用此方法。
http://www.googleappsscript.org/home/downloading-instagram-photos-to-your-google-drive-using-google-apps-script 对于标签很有效,但我希望能够从我的用户账户获取动态。
非常感谢您提供任何帮助,这是我能想到的最好的解决方案,如果我可以使弹出框工作,那就没问题了,但我无法做到这一点。
function startInstagram () {
var redurl = getCallbackURL(getInstagram);
var consumerKey = '#######';
var consumerSecret = '#######';
var parameters = {
method : 'post',
payload:
'grant_type=authorization_code'+'&client_id='+consumerKey+'&client_secret='+consumerSecret+'&grant_type=authorization_code&redirect_uri='+redurl+'&response_type=token'
};
var token = UrlFetchApp.fetch('https://api.instagram.com/oauth/authorize/', parameters).getContentText();
Logger.log(['token', token]);
}
function getInstagram (vars) {
var res = {};
Logger.log(['get', vars]);
return;
}
function getCallbackURL(callbackFunction) {
var scriptUrl = 'https://script.google.com/d/<ID>';
var urlSuffix = '/usercallback?state=';
var stateToken = ScriptApp.newStateToken()
.withMethod(callbackFunction)
.withTimeout(60*10*5)
.createToken();
return scriptUrl + urlSuffix + stateToken;
}