node.jsに、フォームのトークンを返すeveryauth認証を使用するアプリがあります
{ access_token: 'ya29.AHES6ZTlm9qdoFuY9sdpdmFTJISGaQ_69LnW8fszSzPjSCs',
token_secret:
{ token_type: 'Bearer',
expires_in: 3600,
id_token: 'eyJhbGciOisdUzI1NiJ9.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwiaWQ
iOiIxMTQ0MDU3NTM5MTg1NTk1Mzc3NzciLCJhdWQiOiI0NDcwOTkyNjgzMjAuYXBwcy5nb29nbGV1c2V
yY29udGVudC5jb20iLCJjaWQiOiI0NDcwOTkyNjgzMjAuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20
iLCJ0b2tlbl9oYXNoIjoicEFXMDBIaUdaSWNRaWMtM09TLU9vQSIsImlhdCI6MTM0NjMyMzQwMiwiZXh
wIjoxMzQ2MzI3MzAyfQ.HUAhg2hdBUB2n1oUFW_9MOxAyr2O7u8GFkShxggTL2o2tBpwIi0_jLIuD1ri
mGkZwdlR5DwjODe4w2w2rLzPpb3YPCeh19zWg7pxP0huqvuVl3cPLXOkWxke46WIH9KNSQbV3oX34GA4
jTvzEV2-HCR_-GhDeG245FTSpxYpTnE',
refresh_token: '1/Ns-89zzHPbIJlFYXAOCn4dKqxklN4Wc0Og-Gga5XSJA' } }
この時点で、「許可されたリクエスト」(ファイルのリストを取得)を行うにはどうすればよいですか?
私はこの形式でnode-authを使用してみました:
googleOAuth = new OAuth("https://accounts.google.com/o/oauth2/auth",
"https://accounts.google.com/o/oauth2/token",
config.clientID, config.secret,
"1.0A", undefined, "HMAC-SHA1");
googleOAuth.get('https://www.googleapis.com/drive/v2/files/list', token.access_token, token.token_secret.id_token, function (error, data) {
if(error){
console.log(error)
}else{
console.log(data)
}
});
グーグルプロンプトで「アクセスを許可する」をクリックした後、googleOAuth.getはエラーをログに記録します
{"error":{"statusCode":401,"data":"{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"authError\",\n \"message\": \"Invalid Credentials\",\n \"locationType\": \"header\",\n \"location\": \"Authorization\"\n }\n ],\n \"code\": 401,\n \"message\": \"Invalid Credentials\"\n }\n}\n"}}
get
有効なファイルリストを取得するには、リクエストでどの認証を渡す必要がありますか?
2つの認証ライブラリを使用するのは奇妙に思えます。ただし、everyauthを使用して署名付きリクエストを作成する方法はわかりません。「サービスでのログイン」専用のようです。