通过Google API OAuth2对用户进行身份验证,以使用Chrome扩展程序

时间:2016-08-09 00:17:50

标签: javascript google-chrome google-chrome-extension youtube

我正在尝试制作一个谷歌浏览器扩展程序,如果你在Reddit上投票,它会“喜欢”或“喜欢”YouTube视频。显然,您需要用户登录并验证所述用户,以便您可以喜欢或喜欢该视频。

我的问题是我到底该怎么做?我已经尝试过做一些研究,但我仍然完全迷失在用户身份验证的位置或用户如何登录(如果尚未登录)。我假设我需要使用OAuth2才能在youtube上播放视频,但如何在我的扩展程序中实现该功能?

到目前为止,我所拥有的只是我的content.js和manifest.json:

    {
      "name": "VideoUpLike",
      "version": "1.0.0",
      "description": "Likes the video on YouTube after upvoting a YouTube link on Reddit",
      "manifest_version": 2,
      "permissions": [
        "https://www.googleapis.com/*"
      ],
      "content_scripts": [
        {
          "matches": ["http://www.reddit.com/*", "https://www.reddit.com/*"],
          "js" : [ "contentscript.js"]
        }],
      "background": {
        "page": ["Auth.html"]
      }
    }

和我的文本content.js脚本来测试upvote按钮点击:

    document.addEventListener('click', function(e) {
        if (e.target.matches('.arrow.upmod')) {
            alert("Oh hi there");
            }
    });

1 个答案:

答案 0 :(得分:1)

您可以使用Chrome Identity API对Chrome扩展程序的用户进行身份验证。步骤是:

  1. 为您的清单添加权限并上传您的应用。
  2. 将已安装的manifest.json中的密钥复制到源清单中,以便3.在开发过程中,您的应用程序ID将保持不变。
  3. 获取Chrome应用的OAuth2客户端ID。
  4. 更新您的清单以包含客户端ID和范围。
  5. 获取身份验证令牌。
  6. (来自https://developer.chrome.com/apps/app_identity

    我发现此视频对于了解如何在代码中实现此功能非常有用:https://www.youtube.com/watch?v=oeUMKlCTdHg

    最后,谷歌在github上也有一些可能值得关注的示例项目 - 我无法发布更多链接,但您可以通过搜索找到它们。