0

我正在使用谷歌日历 api 的 V3 与基于 php 的应用程序中的日历同步。

我使用此代码删除谷歌日历上的事件。

$delJson = json_decode($service->events->delete('primary', $gcal_id), true);

如果找到 google 日历 id,一切都会顺利进行。但是,如果在 $gcal_id 和实际谷歌日历 ID 之间没有找到匹配项,则整个过程将停止并显示一个空白页。

至少,我希望该过程继续进行,而不会完全停止。我想代码在逻辑上会是这样的,但我找不到任何文档。

$delJson = json_decode($service->events->delete('primary', $gcal_id), true);

if ($response == error) { continue } 
4

1 回答 1

3

我很惊讶这里没有回答这个问题,或者其他任何地方都没有回答;我有同样的问题,看到它被问了很多次,但没有太多帮助。

V3 PHP api 使用异常,您需要处理的异常可能与 update() 相同,使用类似于以下的 Google_Service_Exception:

try {
    $cal->events->update($this->calName,$e,$event);
} catch (Google_Service_Exception $e ) {
    echo "Caught Google_Service_Exception:";
    print_r($e);
}

请注意,如果您有获取更新,则需要围绕获取和更新进行尝试。API 中还有其他几种异常类型,如果不加以处理,这些异常类型可能也会对您网站的访问者造成丑陋。Google_Auth_Exception、Google_IO_Exception、Google_Cache_Exception。因此,除非您已经研究了特定情况以确保您处理各种可能的错误,否则最好只在 google API 代码周围放置一个通用异常捕获器。

于 2013-11-08T14:46:31.597 回答