【问题标题】:AuthSub target path prefix does not match the provided "next" URLAuthSub 目标路径前缀与提供的“下一个”URL 不匹配
【发布时间】:2011-01-27 13:43:45
【问题描述】:

我正在尝试在 PHP 中使用 Gcal API。

我正在使用 ZEND 框架

function getAuthSubUrl($company) 
{
  $next = "http://$company.mysite.com";
  $scope = 'http://www.google.com/calendar/feeds/';
  $secure = false;
  $session = true;
  return (Zend_Gdata_AuthSub::getAuthSubTokenUri($next, $scope, $secure, $session));
}
$authSubUrl = getAuthSubUrl();
echo "<a href=\"$authSubUrl\">login to your Google account"</a> 

我不确定我在这里做错了什么。我几乎完全按照谷歌的例子。

他们的示例中确实有 $next = getCurrentUrl();,但是当我尝试这样做时,我遇到了未定义的错误。

【问题讨论】:

  • 我想通了,我使用的子域转发到基于子域的页面。我猜谷歌试图确保你的 $next 页面是真实的,而我的只是转发。一旦我将 $next 设为主域,它就可以正常工作。然后我只是在 url 中添加了一些 GET 变量以将其转发回正确的位置。
  • 我想补充一点,您应该查看 ZEND 文档,因为它比 Google 的要好得多。 framework.zend.com/manual/en/zend.gdata.html
  • 是的,这也是我刚刚遇到的!
  • 如果解决了,能不能把答案贴出来?
  • @shaneburgess:请将您的解决方案作为答案发布(是的,您可以),然后在两天后接受?这将有助于将问题标记为已回答。感谢您的帮助。

标签: php zend-framework google-calendar-api google-authentication zend-gdata


【解决方案1】:

我想通了,我使用的子域转发到基于子域的页面。我猜谷歌试图确保你的 $next 页面是真实的,而我的只是转发。一旦我将 $next 设为主域,它就可以正常工作。然后我只是在 url 中添加了一些 GET 变量以将其转发回正确的位置。

//$next = "http://$company.mysite.com";
  $next = "http://mysite.com?company=$company";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多