Use code to obtain token. During the process of auth2, the request https://oauth2.googleapis.com/token failed.
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript, nodejs
- 領域
- api, authentication
調査の方向性
OAuth2Client.getToken の呼び出しと、https://oauth2.googleapis.com/token への報告された POST から始め、続いて ECONNRESET の詳細と、リンクされている Google OAuth のウェブサーバー例を確認します。クライアントライブラリとリクエスト環境のどちらがトークン交換の失敗を引き起こしているかを特定し、再現可能な解決策を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I couldn't find the corresponding entry in [support console] and couldn't start, so I'm still here to ask for help.
I use [email protected] in my node project, the code is as follows:
const { google } = require('googleapis');
async getToken() {
const { ctx } = this;
const { code } = ctx.request.body;
const { client_id, client_secret, redirect_uri, } = ctx.app.config.oauth2Google;
const oauth2Client = new google.auth.OAuth2(client_id, client_secret, redirect_uri);
const data = await oauth2Client.getToken(code);
}
Wrong question:
config: {"method":"POST","url":"https://oauth2.googleapis.com/token","data":"< - See errorRedactor option in gaxios for configuration >.","headers":{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"google-api-nodejs-client/9.6.3","x- goog-api-client":"gl-node/20.11.0"},"body":"< - See errorRedactor option in gaxios for configuration>.","responseType":"unknown" }
response: undefined
error: {"message":"request to https://oauth2.googleapis.com/token failed, reason: read ECONNRESET","type":"system","errno":"ECONNRESET","code":" ECONNRESET"}
Here is the official documentation: https://developers.google.com/identity/protocols/oauth2/web-server?hl=zh-cn#exchange-authorization-code
and code:
`const url = require('url');
// Receive the callback from Google's OAuth 2.0 server.
if (req.url.startsWith('/oauth2callback')) {
// Handle the OAuth 2.0 server response
let q = url.parse(req.url, true).query;
// Get access and refresh tokens (if access_type is offline)
let { tokens } = await oauth2Client.getToken(q.code);
oauth2Client.setCredentials(tokens);
}`
Thanks!
- 主要言語
- TypeScript
- スター
- 12.3k
- フォーク
- 2k
- 平均マージ
- 2日 19時間
- マージ済み PR(30日)
- 23
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
googleapis/google-api-nodejs-client のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
googleapis/google-api-nodejs-client#3932 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[Discovery Engine] streamAnswer is typed as one AnswerQueryResponse, but REST returns frame arrays対応中かも @AmariahAK が 96 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
googleapis/google-api-nodejs-client#3930 ·
メンテナーはふだん 1 日以内に返信
-
size: l type: feature request
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
googleapis/google-api-nodejs-client#3926 ·
メンテナーはふだん 1 日以内に返信
-
type: feature request
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
googleapis/google-api-nodejs-client#3903 ·
メンテナーはふだん 1 日以内に返信
-
If a service is deprecated and its the last version fo the library, we need to fully deprecate itオープンtype: process
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
googleapis/google-api-nodejs-client#3898 ·
メンテナーはふだん 1 日以内に返信
googleapis/google-api-nodejs-client の issue をすべて見る
似ている issue
-
数据界面的横向滚动条缺失オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
zilliztech/attu#1037 ·
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
openclaw/openclaw#181212 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apify/apify-mcp-server#1684 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Automattic/data-liberation-agent#953 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
siteboon/claudecodeui#1642 ·
メンテナーはふだん 5 日以内に返信