使用 Zend 获取 Google 文档的链接
嘿,我正在使用 Zend Framework 和 Gdata 来处理 Google Docs API。我已将其修改为使用 V3,以便我们可以从 Web 界面上传和管理 pdf。我们有一个自定义类 gDataClient,用于设置 Gdata_Docs 服务 Gdata_ClientLogin,并创建一个新的 Gdata_Docs 对象。
在我正在使用的页面上,以下是相关代码:
$gDoc = & new gDataClient($agentGid, $agentGpw);
$something = $gDoc->GetDoc('mydocID','pdf');
print_r($something->content->src);
这会生成指向文档的直接链接,但是当我单击它时,即使我已经创建并验证了客户端,我也会收到 401(需要身份验证)。
有什么想法吗?
Hey there - I'm using Zend Framework with Gdata to handle the Google Docs API. I've got it modified to use V3 so we can upload and manage pdf's from a web interface. We have a custom class gDataClient that sets up the Gdata_Docs service, Gdata_ClientLogin, and creates a new Gdata_Docs object.
On the page I'm working with, here's the relevant code:
$gDoc = & new gDataClient($agentGid, $agentGpw);
$something = $gDoc->GetDoc('mydocID','pdf');
print_r($something->content->src);
This generates a direct link to the document, but when I click it I get a 401 (Authentication Required) even though I've already created and authenticated the client.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,问题出在双重登录上。 Gmail 帐户会自动附加一个 Google 帐户,但 Google Apps for Domains 帐户则不会。生成的链接定向到 docs.google.com/documentLink,我的 Gmail 帐户已通过该链接的身份验证。该文档被标记为“私人”,因此我无法查看它。我最终根据 Google 应用程序域和 docID 手动构建链接 - docs.google.com/a/myDomain.com/viewer?options=stuff&srcid=docID
这对于我们的情况来说效果很好,因为使用该系统的每个人都会在 myDomain.com 上有一个帐户,并且在数据库中拥有这些凭据 - 我不确定允许用户使用标准 Gmail 或独立 Google 帐户的解决方法是什么。
Okay, so the problem turned out to be dueling logins. A Gmail account automatically has a Google Account attached to it, but a Google Apps for Domains account does not. The link generated directed to docs.google.com/documentLink, which my Gmail account is authenticated for. The document in question is marked Private, so I couldn't view it. I ended up manually building the link based on Google App domain and docID - docs.google.com/a/myDomain.com/viewer?options=stuff&srcid=docID
This will work fine for our situation, as everyone using the system will have an account at myDomain.com and those credentials in the DB - I'm not sure what the workaround would be to allow users to use standard Gmail or standalone Google accounts.