我正在使用YouTube API开发一个应用程序,允许用户从外部网站浏览他们的帐户(上传,收藏等)。当前站点设置为WordPress多站点网络(这对于URL结构非常重要)。
每个站点都安装在子目录中,例如主站点就是 http://www.mainsite.com
每个网站的网址结构都是:
我为网络中的每个网站设置了一个频道,因此每个网站都可以查看单独的视频。
对于我安装的每个网站,我都设置了一个单独的Google项目并使用了一个独特的API密钥。我可以在一个站点上进行身份验证,并将刷新令牌存储在数据库中供以后使用。
这一切都有效,但是当我去第二个站点进行身份验证时,第一个站点的刷新/访问令牌被撤销,第二个站点工作,而第一个站点没有。 我在第一个网站上收到API的回复“刷新OAuth2令牌时出错,消息:'{”error“:”invalid_grant“}'”。然后,我可以撤销令牌,并重新进行身份验证,然后重复工作,直到我尝试对不同的iste进行身份验证。
为什么我一次只能使用一个站点进行身份验证,如果他们各自使用单独的api密钥并访问令牌来访问API?是因为所有的JavaScript来源都来自同一个网址吗?
如果是这样,我是否可以将网络中的所有网站连接起来,而无需在每次查看频道时重新进行身份验证?这里有某种限制,我忽略了吗?
似乎网络中只有一个站点可以同时与API通信,即使访问令牌和API密钥对每个站点都是唯一的。
答案 0 :(得分:0)
使用api密钥: client-> setDeveloperKey('key goes here');
您可以从api控制台获取密钥,将其设置为服务器密钥。