【发布时间】:2015-09-08 02:01:53
【问题描述】:
我正在使用 YouTube API 开发一个应用程序,该应用程序允许用户从外部网站浏览他们的帐户(上传、收藏等)。当前站点设置为 WordPress 多站点网络(此处仅对 URL 结构很重要)。
每个站点都安装到一个子目录中,例如主站点是 http://www.mainsite.com
每个站点的 URL 结构将是:
我为网络中的每个站点设置了一个频道,以便每个站点都可以观看单独的视频。
对于我安装的每个站点,我都设置了一个单独的 Google 项目并使用唯一的 API 密钥。我可以在一个站点上进行身份验证并将刷新令牌存储在数据库中以供以后使用。
一切正常,但是当我在第二个站点上进行身份验证时,第一个站点的刷新/访问令牌被撤销,第二个站点可以正常工作,而第一个站点不能。 我在第一个站点上收到来自 API 的响应“刷新 OAuth2 令牌时出错,消息:'{“error”:“invalid_grant”}'”。然后,我可以撤销令牌,重新进行身份验证,然后一切正常,直到我尝试在不同的 iste 上进行身份验证。
如果每个站点都使用单独的 api 密钥和访问令牌来访问 API,为什么我一次只能对一个站点进行身份验证?是不是因为所有的 JavaScript 来源都来自同一个 URL?
如果是这样,是否有一种解决方法可以让我连接网络中的所有站点,而无需在每次想要查看频道时重新进行身份验证?这里有一些我忽略的限制吗?
即使访问令牌和 api 密钥对每个站点都是唯一的,但似乎网络中一次只有一个站点可以与 API 通信。
【问题讨论】:
-
您的身份验证 (POST) 请求是什么样的?此外,这很可能是因为您的令牌已过期或您已达到令牌刷新限制。
标签: php api youtube youtube-api