我正在尝试使用google在youtube上创建实时流。现在它只在我使用oauth授权时起作用。当我使用API密钥授权时,我会得到授权错误(需要登录)
当我使用oauth授权-它需要输入确认代码,每次我创建新的翻译。是否可以使用不需要输入确认代码的授权API的“liveStreams->插入”方法?
发布于 2019-04-15 03:18:26
从您正在编写的内容来看,在我看来,您还没有理解OAuth的概念,以及何时使用OAuth和API密钥。
试着这样想:作为一个人,你有一个谷歌账户。这个Google帐户与你的YouTube帐户不一样(或者,它通常是指你的YouTube频道)。但是您的Google帐户与您的YouTube频道(您可以拥有多个)相关联。因为你是登录到你的谷歌帐户,你的渠道和谷歌帐户是链接的,YouTube网站知道你是谁,并允许你访问你的频道。
现在您可以转到Google控制台了。在这里,您创建了一个项目,它与YouTube帐户非常类似,因为它也是一个独立的帐户,在本例中代表您的应用程序,但链接到您的谷歌帐户,以便云控制台网站知道只要您登录到谷歌帐户,就可以访问该项目。
但是,您的YouTube帐户没有链接到云控制台项目。当您使用API键发出API请求时,API不会在“您的Google帐户”中看到您,而是您的应用程序的云控制台项目。这就是为什么在使用API键时,您只能访问公共可用的数据(当您浏览YouTube而不是登录时,您可以“看到”的所有数据)。
因此,为了让应用程序读取私有信道信息或修改通道信息,API需要验证发出请求的人是否确实被允许这样做。这就是OAuth发挥作用的地方。
当您说必须为每个请求提供确认代码时,我认为您没有保存访问令牌和刷新令牌。我强烈建议您在Google开发人员上阅读使用Google2.0访问Google和获得授权凭证,以帮助您入门。
https://stackoverflow.com/questions/55653211
复制