【发布时间】:2018-10-06 02:20:54
【问题描述】:
我正在使用 OAuth 库连接到 Etsy shop API。代码如下所示:
foreach ($transactions as $transactionSingle) {
try {
$oauth = new OAuth('xxx', 'xxx',
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($access_token, $access_token_secret);
$data = $oauth->fetch("https://openapi.etsy.com/v2/users/".$transactionSingle['buyer_id']."/profile", null, OAUTH_HTTP_METHOD_GET);
$json = $oauth->getLastResponse();
$results = json_decode($json, true);
} catch (OAuthException $e) {
return null;
}
}
现在的问题是我在 foreach 上多次运行此代码,如果此 URL 错误并且无法获取任何数据 - 整个函数将停止并且不再继续。在将旧用户 ID 传递给 URL 并且 $oauth->fetch 只返回消息之前,它可以正常工作:
无效的身份验证/错误请求(收到 404,预期 HTTP/1.1 20X 或 重定向)
任何想法如何在出现任何错误的情况下继续运行该功能?
【问题讨论】:
-
“我在数组中运行这段代码”是什么意思?
-
@ErwinMoller 我认为他在
batch中运行它。 -
发布更新,我的意思是它在 foreach 上运行多次。错误只会停止整个循环。
-
好的,谢谢,现在清楚了。您是否收到可能是错误的异常? (这可能会造成混淆,具体取决于您的 PHP 版本。)尝试捕获每个异常捕获 (Exception $e) 以供初学者使用。如果这没有帮助,请注册您自己的错误处理程序,并查看是否可以捕获它。
-
转储 $e 并没有给我任何东西,我猜代码甚至没有去捕获部分,它只是在我使用 $oauth->fetch 向 URL 发出请求后就死了
标签: php api oauth oauth-2.0 etsy