rossjcooper / laravel-hubspot
为Hubspot客户端包添加Laravel特定包装器
6.0.0
2023-06-26 20:30 UTC
Requires
- php: >=8.0
- hubspot/api-client: ^10.0
- illuminate/support: >=5.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.19
- orchestra/testbench: >=3.4
README
这是Hubspot/hubspot-api-php包的包装器,并为用户提供了HubSpot\Discovery\Discovery
类的服务容器绑定和外观。
安装
composer require rossjcooper/laravel-hubspot
- 从您的HubSpot账户的集成页面获取HubSpot API密钥。
- Laravel 5.4或更早版本,在您的
config/app.php
文件中- 将
Rossjcooper\LaravelHubSpot\HubSpotServiceProvider::class
添加到您的提供者数组中。 - 将
'HubSpot' => Rossjcooper\LaravelHubSpot\Facades\HubSpot::class
添加到您的别名数组中。
- 将
- 运行
php artisan vendor:publish --provider="Rossjcooper\LaravelHubSpot\HubSpotServiceProvider" --tag="config"
将创建一个config/hubspot.php
文件。 - 将您的HubSpot API密钥和私有应用访问令牌添加到
.env
文件中:HUBSPOT_ACCESS_TOKEN=yourApiKey
- 如果您使用私有应用访问令牌,您还应将
HUBSPOT_USE_OAUTH2=true
添加到您的.env
文件中
使用方法
您可以使用外观或注入HubSpot类作为依赖项
外观
// Echo all contacts first and last names $response = HubSpot::crm()->contacts()->basicApi()->getPage(); foreach ($response->getResults() as $contact) { echo sprintf( "Contact name is %s %s." . PHP_EOL, $contact->getProperties()['firstname'], $contact->getProperties()['lastname'] ); }
Route::get('/', function (HubSpot\Discovery\Discovery $hubspot) { $response = $hubspot->crm()->contacts()->basicApi()->getPage(); foreach ($response->getResults() as $contact) { echo sprintf( "Contact name is %s %s." . PHP_EOL, $contact->getProperties()['firstname'], $contact->getProperties()['lastname'] ); } });
// Create a new contact $contactInput = new \HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectInputForCreate(); $contactInput->setProperties([ 'email' => 'example@example.com' ]); $contact = $hubspot->crm()->contacts()->basicApi()->create($contactInput);
有关使用实际API的更多信息,请参阅主仓库Hubspot/hubspot-api-php
测试
我们使用Orchestra Testbench在基于Laravel的环境中运行单元测试。如果您想运行测试,请确保在您的.env
文件中有一个HubSpot API密钥,并运行composer run test
当前的单元测试访问HubSpot API,并期望看到HubSpot为开发者账户提供的演示联系人/潜在客户。
问题
请只在此处报告与Laravel相关的问题,主要API问题应在此处报告