【问题标题】:Google calendar by PHP cURL returned strings in GermanPHP cURL 的 Google 日历以德语返回字符串
【发布时间】:2013-08-21 08:28:43
【问题描述】:

我正在尝试使用 cURL 检索 Google 日历 XML 以在我的应用程序中显示它。
日历是公开的,可以通过浏览器直接访问: https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic

当我试图从我的程序中获取它时,它奇怪地以德语返回。这里是

下面是我的代码:

$xml = NULL;
$url = 'https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic';

$crl = curl_init();
curl_setopt ($crl, CURLOPT_URL, $url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 15);

$xml = curl_exec($crl);
curl_close($crl);

echo '<pre>';
print_r($xml);
exit;       
if($xml){       
    $xml = simplexml_load_string($xml);
}       

当从浏览器运行 URL 时,它以英文返回。我以为是服务器上的cURL代理设置的原因,后来尝试添加这两行,但是没有意义。

curl_setopt ($crl, CURLOPT_HTTPGET, TRUE);
curl_setopt ($crl, CURLOPT_HTTPPROXYTUNNEL, FALSE);

有什么想法吗?请帮忙。

【问题讨论】:

  • 追加网址..../basic?hl=en?
  • 您的服务器位置可能是原因。但正如 Bora 所说,它是一种以特定语言请求的简单解决方案。
  • @Bora,是的,?hl=en 确实有效。谢谢!为什么不添加答案?但是我想知道为什么当我从浏览器运行时它会以英文返回而没有hl=en。是因为我的位置吗?
  • @Sithu,我想您的服务器位于德国。

标签: php curl google-calendar-api


【解决方案1】:

附加到网址?hl=en

$url = 'https://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/basic?hl=en';

原因正如@CharliePrynn 所说:您的服务器位置可能是原因

【讨论】:

    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 2013-01-30
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多