Javascript gapi.auth2无法获取访问\u令牌

Javascript gapi.auth2无法获取访问\u令牌,javascript,google-client,google-client-login,Javascript,Google Client,Google Client Login,我正在尝试使用javascript客户端API实现youtube的可恢复上传。我已经设法使用g-signn2按钮让登录正常工作,但是我无法获得访问令牌来发送请求。以下是我呈现“登录”按钮的方式: <span class="g-signin2" data-onsuccess="youtubeUploaderSigninCallback" data-scope="https://www.googleapis.com/auth/youtube.upload https://www.g

我正在尝试使用javascript客户端API实现youtube的可恢复上传。我已经设法使用
g-signn2
按钮让登录正常工作,但是我无法获得访问令牌来发送请求。以下是我呈现“登录”按钮的方式:

<span
  class="g-signin2"
  data-onsuccess="youtubeUploaderSigninCallback"
  data-scope="https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/youtube">
</span>
我试图获取访问令牌的方式记录在这里:

我想这是我的选择:

  • 找到一种从用户对象中获取访问令牌的方法
    • (我发现user.hg.access_令牌包含我需要的令牌
    • 但对我来说,“hg”似乎是一个缩小的属性
    • 所以我不打算使用它,因为它可能会随着更新而改变
    • 编辑:正如评论中指出的那样,hg确实是一个缩小的属性,现在已经不存在了
  • 将进度事件添加到gapi.client.request()中
    • 但是xhr对象似乎没有暴露出来
  • 使用记录为已弃用的代码
  • 有人能帮我吗?我一直在寻找一个可以接受的解决方案,几个小时了,现在我想哭了……孤身一人,绝望万分

    提前感谢,, 罗比


    PS:

    仅供参考:我现在使用的是“g-signin”按钮(不是g-signin2)一切都正常,但我不知道这是否是未来的证明。所以答案仍然是受欢迎的。我祝你好运找到答案。根据,AuthResponse应该有一个访问令牌。奇怪的是它不在那里。我用
    g-signn2
    实现了同样的事情,我使用了
    hg
    ,但它被证明了你说得对:该属性现在已不存在,并重命名为
    Zi
    。仍在寻找从响应中正确获取该属性的方法。目前,我只是坚持使用
    g-signin
    选项。该选项仍在工作,我希望在
    g-signn2
    被“修复”之前保持该状态。很高兴我没有依赖于
    hg
    属性。感谢分享,我将把这一点放在问题中。为了改进您的答案,您应该添加一些解释,说明您的答案的作用、如何使用以及如何回答问题。
    getAuthResponse(true)
    true
    访问令牌未定义感谢上述注释!大多数文档不包含
    true
    参数。这解决了我的问题
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <script src="https://apis.google.com/js/client.js" async defer></script>
    
    gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse()
    
    gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token