我们正在为应用市场的v2创建新应用。最近我们遇到了一个很大的问题,我们在解决它时遇到了很多麻烦。
我们正在测试域管理员通过chrome webstore列表安装的工作流程。在应用程序安装在域上并且在查看域管理面板(http://i.stack.imgur.com/a63nv.png)中的“管理API客户端访问”部分时,范围似乎已被授予时,应用程序的实际安装可以正常运行。
但是,当我们尝试使用服务帐户获取日历或联系人信息时,我们会收到“请求的客户端未经授权”错误。
{
"error" : "access_denied",
"error_description" : "Requested client not authorized."
}
但是,如果我们手动将我们的服务帐户+范围添加到相关域中,那么以编程方式访问数据就可以正常工作(http://i.stack.imgur.com/g6pRg.png)。
所以,显然我们在这里遗漏了一些东西,以及如何通过Chrome网上商店安装市场应用程序。
其他注意事项:
答案 0 :(得分:1)
我们弄清楚了。问题在于我们如何在市场sdk设置屏幕中声明我们的联系人API范围。
在市场设置屏幕中,我们声明使用的联系人范围没有尾部斜杠(“https://www.google.com/m8/feeds”)。
但是在我们的应用中,我们发送了日历提要的oauth请求,最后用斜杠。 ( “https://www.google.com/m8/feeds/”)。这种不匹配导致整个请求失败并显示上面的错误消息。
如果有人遇到这种情况并且对为什么他们的服务帐户请求失败感到困惑,那么请确保最后与您的斜线保持一致!
我建议谷歌你应该更新市场sdk屏幕以保持一致并拒绝最后没有斜线的范围。这样可以让我们感到沮丧。