首页 > 解决方案 > Facebook SDK 未捕获异常

问题描述

我在我的 Laravel 5.4 应用程序中使用 Facebook Graph API SDK(作曲家中的“facebook/graph-sdk”:“~5.0”)

我正在尝试从页面中获取一些字段,当页面无效时它会引发错误,但是它似乎没有正确捕获错误:

下面的代码:

use Facebook\Facebook;

class FacebookUser extends Controller
 {
  try {
   echo 'Trying ' . $venue->id;
   $response = $fb->get('/'.$page.'/locations?fields=hours', $access_token);
  } catch(Facebook\Exceptions\FacebookResponseException $e) {
   // When Graph returns an error
   echo 'Graph returned an error: ' . $e->getMessage();
   exit;
  }

这并不理想,因为每次遇到以下错误时它都会停止:

在 FacebookResponseException.php 第 106 行:

(#100)尝试访问节点类型(URL)上不存在的字段(小时)

标签: phplaravelfacebookapisdk

解决方案


异常很可能命名为Facebook\Exceptions\FacebookResponseException.

因为你有:

use Facebook\Facebook;

这是:

use Facebook\Facebook as Facebook;

你最终试图赶上这门课:

Facebook\Facebook\Exceptions\FacebookResponseException

你可能想调整你的catch喜欢:

} catch (\Facebook\Exceptions\FacebookResponseException $e) {

推荐阅读