添加 Google OAuth 范围后“出现问题”

问题描述 投票:0回答:1

当我尝试添加具有 API 的范围时,我得到“Google 尚未验证该应用程序”,这是预期的,因为我将其设置为测试,但是当我单击“继续”时,我得到“有些事情发生了”错误的”。但是,如果我请求类似配置文件的范围,我不会收到“Google 尚未验证该应用程序”或“出现问题”的消息,但我可以继续“登录到项目”,没有任何问题。这是一段简单的代码,对我来说不起作用:

const { OAuth2Client } = require('google-auth-library')
const express = require('express')
const dotenv = require('dotenv')

dotenv.config()

const REDIRECT_URI = 'http://localhost:3000/oauth2callback'
const oauth2Client = new OAuth2Client(process.env.CLIENT_ID, process.env.CLIENT_SECRET, REDIRECT_URI)

const getAuthUrl = () => oauth2Client.generateAuthUrl({
  access_type: 'offline',
//   scope: ['https://www.googleapis.com/auth/userinfo.profile'],
  scope: ['https://www.googleapis.com/auth/presentations'],
})

const getToken = async (code) => {
  const { tokens } = await oauth2Client.getToken(code)
  oauth2Client.setCredentials(tokens)
  return tokens
}

const app = express()

app.get('/', (req, res) => {
  const authUrl = getAuthUrl()
  res.send(`<a href="${authUrl}">Authorize</a>`)
})

app.get('/oauth2callback', async (req, res) => {
  const { code } = req.query
  try {
    const tokens = await getToken(code)
    res.send('Authentication successful! Tokens: ' + JSON.stringify(tokens))
  } catch (error) {
    res.status(400).send('Error during authentication')
  }
})

app.listen(3000, () => console.log('Server running on http://localhost:3000'))

我已确保已启用幻灯片 API、将范围添加到 OAuth 同意屏幕,并在应用程序权限中删除与我的项目的连接。该项目正在测试中,并且是外部的,因为我无法将其设为内部。

javascript oauth google-api google-oauth
1个回答
0
投票

如果您使用的是网络平台,则可以使用

InteresectionObserver
。如果您使用的是 Android 平台,则可以使用类似的等效库,例如
react-native-intersection-observer
。您想要编写的基本逻辑如下:-

const callback = (entries, observer) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      // Logic to scroll tab
    }
  });
};

const observer = new IntersectionObserver(callback, {
  threshold: 0.1 // Call the callback function when 10% of the element is in the view
});

// Get target element and start observing it
const target = document.querySelector('#observe-id');
observer.observe(target);

参考资料:- https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API https://www.npmjs.com/package/react-native-intersection-observer

© www.soinside.com 2019 - 2024. All rights reserved.