public function testBatchParametersAndUrlAreSetCorrectlyForRequest() { $twitterAds = $this->getMockBuilder(TwitterAds::class)->disableOriginalConstructor()->getMock(); $account = new Account($twitterAds); $url = 'tailored_audience_memberships'; $batch = new TailoredAudienceMemberships($account); for ($i = 0; $i < 10; $i++) { $member = new TailoredAudienceMember(); $member->setScore($i); $batch->add($member); } $data = (object) ['data' => (object) []]; $twitterAds->expects($this->once())->method('post')->with($url, ['operation_type' => TailoredAudienceMemberships::OPERATION, 'params' => $batch->toParams()])->willReturn($data); $batch->save(); }
<?php use Hborras\TwitterAdsSDK\TwitterAds; use Hborras\TwitterAdsSDK\TwitterAds\TailoredAudience\TailoredAudienceMemberships; use Hborras\TwitterAdsSDK\TwitterAds\TailoredAudience\TailoredAudienceMember; require '../autoload.php'; const CONSUMER_KEY = 'your consumer key'; const CONSUMER_SECRET = 'your consumer secret'; const ACCESS_TOKEN = 'your access token'; const ACCESS_TOKEN_SECRET = 'your access token secret'; const ACCOUNT_ID = 'account id'; // Create twitter ads client $twitterAds = new TwitterAds(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $batch = new TailoredAudienceMemberships($account); for ($i = 0; $i < 101; $i++) { $member = new TailoredAudienceMember(); //Replace these values with correct ones from //https://dev.twitter.com/ads/reference/post/tailored_audience_memberships $member->setScore($i); $member->setUserIdentifier($i); $member->setAdvertiserAccountId(self::ACCOUNT_ID); $member->setUserIdentifierType(TailoredAudienceMember::TYPE_TAWEB_PARTNER_USER_ID); $member->setAudienceNames(['test1', 'test2']); $batch->add($member); } $batch->save();