我正在使用Google 脚本库来建立对 Strava api 的 oauth2 访问。要么不返回状态令牌,要么返回但 oauth2 库没有对其进行解码并使其可用,我不知道是哪个。Strava api 和 oauth2 库都在其文档中声称可以处理令牌。
有没有人有使用这种机制的经验以及任何可能(不)发生的事情的指针?或者有人成功地使用了这个机制吗?
电话是:
var authorisationUrl = service.getAuthorizationUrl({
// Pass the additional parameter so that we can identify this callback later
// but this doesn't seem to work at the moment
myState: 'additionalParameter'
});
当我检查从 Strava 返回的数据时,状态部分是:
state=[ADEpC8xqea0eQC1swItybgXnRDWis5TWp98-5S8BvT6vYxUvUXSu7pUHtp1e_W8RHoW1uB0Iq62H-uOlGuW8Bv8eBf6-9fh7sE2FnLp2jVH3AfqfTR4deGu19JwuaeEl26ztJyKyV49FIEGNWLHFDyAGG1IN_vle5GWQOfox5Z3nSxrRVI0OX9J6ptcW7gv2qlf3nPDBUp-PeAH9ER7MAauwq9HjXZHxiUjy0MB1Mh5s8OBD_35i1eXHnnZAr_PIM0FWqyfhrsxc]
这似乎是合理的,因为它是加密的,但是当我尝试将它分配给一个变量时:
function doGet(e) {
var serviceName = "Completion " + Date();
var completionService = getService(serviceName);
var authorised = completionService.handleCallback(e);
var newState = e.parameter.myState;
}
它是未定义的。
想法?