【问题标题】:Authenticating users via Google APIs OAuth2 to use Chrome extension通过 Google APIs OAuth2 对用户进行身份验证以使用 Chrome 扩展程序
【发布时间】:2016-08-09 00:17:50
【问题描述】:

我目前正在尝试制作一个 google chrome 扩展程序,如果您在 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");
            }
    });

【问题讨论】:

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


    【解决方案1】:

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

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

    (来自https://developer.chrome.com/apps/app_identity

    我发现这个视频对了解如何在您的代码中实现这一点非常有用:https://www.youtube.com/watch?v=oeUMKlCTdHg

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

    【讨论】:

    • YouTube 链接已失效,第 2 步非常迟钝。
    猜你喜欢
    • 1970-01-01
    • 2016-09-26
    • 2015-02-08
    • 1970-01-01
    • 2012-11-20
    • 2018-11-05
    • 2013-06-24
    • 2011-11-20
    • 1970-01-01
    相关资源
    最近更新 更多