【发布时间】:2021-07-06 18:04:18
【问题描述】:
我想访问 youtube 频道 cmets、视频、播放列表等。
在我的 React 应用程序中,我使用 react-google-login 来获取 google google 令牌
const login = (props) => {
const clientId = "<OAuthClientIDs>"
const onSuccess = (response) => {
props.onLogin(response.profileObj);
}
const onFailure = (response) => {
console.log(response);
}
return(
<div>
<GoogleLogin
scope="https://www.googleapis.com/auth/youtube"
clientId={clientId}
buttonText="Login"
onSuccess={onSuccess}
onFailure={onFailure}
cookiePolicy={'single_host_origin'}
style={{marginTop:"100px"}}
isSignedIn={true}
/>
</div>
)
}
export default login;
然后我想用返回的 googleid 查询 youtube API
const onLogin = (googleId) => {
setgoogleId(googleId);
}
const logPlayList = () => {
let header = {
headers: {
'Content-Type': 'application/json;charset=UTF-8',
"Authorization": "Bearer " + googleId.googleId,
}
};
axios.get("https://www.googleapis.com/youtube/v3/playlists?part=snippet&mine=true&key=" + googleId", header)
.then(response => { console.log(response.data) })
.catch(error => console.log(error))
}
但是当用户想登录时,我得到Error 403: access_denied响应,我不明白为什么。
在谷歌云中,我在 API 库中启用了 Youtube Data API V3
【问题讨论】:
标签: google-cloud-platform youtube-api google-oauth google-login google-developers-console