使用PHP从Clearbit.com获取人员信息的技术咨询
用PHP通过Clearbit API获取人员信息
我最近在做一个功能:通过邮箱获取人员信息并展示在网页上。查了Clearbit的API文档后,知道对应的请求是GET请求,地址是:https://person.clearbit.com/v2/combined/find?email=:email
下面是我尝试的PHP实现代码(已隐藏密钥),不过代码还没写完,而且有几个小问题:
<?php $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://person-stream.clearbit.com/v2/combined/find?email=alex@clearbit.com'"); curl_setopt($curl, CURLOPT_RETURNTRA...
修正后的完整PHP代码示例
要让这个请求正常工作,需要注意这几点:
- 去掉URL末尾多余的单引号
- 开启
CURLOPT_RETURNTRANSFER,让curl返回响应内容而不是直接输出 - 添加API密钥的认证头(Clearbit API需要Basic Auth,密钥作为用户名,密码留空)
- 处理请求结果并解析JSON
完整代码如下:
<?php // 替换为你的Clearbit API密钥 $apiKey = 'YOUR_CLEARBIT_API_KEY'; $email = 'alex@clearbit.com'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://person.clearbit.com/v2/combined/find?email=" . urlencode($email), CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_USERPWD => "$apiKey:", // 密码部分留空 CURLOPT_SSL_VERIFYPEER => true, // 保持SSL验证开启,确保安全 ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { // 解析JSON响应 $personData = json_decode($response, true); if (json_last_error() === JSON_ERROR_NONE) { // 这里可以根据需要展示人员信息,比如姓名、公司等 echo "姓名: " . $personData['person']['name']['fullName'] . "<br>"; echo "公司: " . $personData['company']['name'] . "<br>"; echo "职位: " . $personData['person']['employment']['title'] . "<br>"; } else { echo "解析响应失败: " . json_last_error_msg(); } } ?>
关键注意事项
- URL编码:对邮箱地址使用
urlencode(),避免特殊字符导致请求错误 - 认证方式:Clearbit API采用Basic认证,把你的API密钥作为用户名,密码字段留空即可
- 错误处理:添加cURL错误检测和JSON解析错误处理,方便排查问题
内容的提问来源于stack exchange,提问作者Herman
相关产品推荐
相关产品推荐

