如何获得刷新令牌?

时间:2018-09-28 14:12:18

标签: javascript node.js amazon-web-services token serverless

我需要使用Google Play Android API,我需要遵循很多说明才能与该API连接,但我只能一并使用。(Authorization documentation) 他们说的正是步骤4:

使用以下代码发送帖子:

grant_type=authorization_code

code=<the code from the previous step>
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
redirect_uri=<the URI registered with the client ID>`

我指定我使用无服务器和节点,请问如何在https://accounts.google.com/o/oauth2/token中使用刷新令牌?

非常感谢我的英语^^。


很抱歉,我的服务器没有服务

#serverless.yml
service: scrapper-app


provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-3

functions:
  app:
    handler: index.handler
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

和我的js也一样:


//index.js

const serverless = require('serverless-http');
const express = require('express')
const app = express()

//API

const { google } = require('googleapis');
const oauth2Client = new google.auth.OAuth2(
    IDCLient,
    Secret,
    'https://accounts.google.com/o/oauth2/auth',
);

const scopes = 'https://www.googleapis.com/auth/androidpublisher';

const url = oauth2Client.generateAuthUrl({
    access_type: 'offline',
    scope: scopes
)}


// GET
app.get('/', function (req, res) {
    res.send('Scrapper Rs!');
})



module.exports.handler = serverless(app);

我真的不知道如何使用节点和无服务器进行http发布,我成功地使用了数据库(带有curl),但未发布到url。

1 个答案:

答案 0 :(得分:1)

我没有使用Google身份验证。但我认为您需要使用access_type = offline

  

access_type 推荐 。指示您的应用程序是否可以   当用户不在浏览器中时刷新访问令牌。   有效的参数值是在线的,这是默认值,并且   离线。<​​/ p>      

如果您的应用程序需要刷新访问权限,则将该值设置为offline   用户不在浏览器中时标记。这是方法   本文档后面部分将介绍的刷新访问令牌的过程。这个   值指示Google授权服务器返回刷新   令牌和访问令牌在您的应用程序首次出现时   交换令牌的授权码。

     

要在PHP中设置此值,请调用setAccessType函数:

     

$ client-> setAccessType('offline');

来源:https://developers.google.com/identity/protocols/OAuth2WebServer