Community Discussion

Ask a Question
ANSWERED

Taboola integrating with Azure Data Factory

Hi I am trying to integrate Taboola with Azure Data Factory to build reports in Power BI. I noticed that the access tokens gets expire every 12 hours. If I wanted to automate the pipeline in the Data factory, I need to have a static access token. Could you please advise how can I get the static access token?
ANSWERED

Authentication for API development requirements

I am starting development of a daily backend service to run the campaign summaries api. I'm having a little trouble following the 4 authentication types and use cases. It sounds like the Client Authentication flow is what is preferred, but it only generates a 12 hour token for us meaning we would have to grab a new token everytime the application runs. We have typically used refresh tokens in the past for longer access tokens and a secondary service to refresh our token on a monthly interval. I am having trouble finding documentation on how to generate the initial refresh token to use with the 4th authentication method "refresh token". If we code the service to pull a new key based on the client id and client secret multiple times a day, will this be a problem? What are the daily key generation limits using the preferred method 1 listed in documentation?
ANSWERED

Access Taboola API with R

Has anyone tried this and can provide information and recommendations? Which R package did you use? How did you go about it? I tried the httr package and used the code below: url = 'https://ads.taboola.com//backstage/api/1.0/[account_id]/campaigns/' r <- GET(url = 'https://ads.taboola.com//backstage/oauth/token', config = list(username, password, type = "basic"))) data <- r$content The account ID was not alphabetical, it was numerical. and the username and password are for the ad campaigns account. I did not get any media fields, even though the response showed 200 - which confirmed some sort of connection was made.
ANSWERED

Issues connecting to API for new environment

Greetings, We've worked with the backstage API a bit before, but for a new project, we had a sandbox environment set up for testing purposes. We are having difficulty getting our API call to work, and the errors that are returning are not at all helpful. I really wish the API responded with more information to help troubleshoot. If we use the numerical account ID provide by our account manager we get the following error: {http_status: 403, message: "Requested action is forbidden”} If we use the alpha string ID ie. "Your Account Sandbox Name" with letters and spaces we get the following error: "Bad Request" Our payload follows the JSON structure outlined here: https://developers.taboola.com/backstage-api/reference#creating-a-batch-of-campaign-items That is the method we are calling from our application, which submits the JSON object via an AJAX post. Here is a section of our code to show what we are doing: $url = 'https://backstage.taboola.com/backstage/oauth/token'; $data = array('client_id' => $taboolaCID, 'client_secret' => $taboolaSecret, 'grant_type' => 'client_credentials'); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); $taboolaAccessToken = json_decode($result)->{'access_token'}; $ch = curl_init('https://backstage.taboola.com/backstage/api/1.0/'.$taboolaAccount.'/campaigns/'.$campaign_id.'/items/mass' ); $payload = json_encode($collection, JSON_UNESCAPED_SLASHES); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, ‘Our Application Name'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload ); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'cache-control: no-cache', 'Authorization: Bearer ' . $taboolaAccessToken )); $data = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); Any assistance would be greatly appreciated. Thanks!
150030003014004014034044294_flows50050390_daysaccess_tokenaccountaccount_creationaccount_idaccount_levelaccount_level_blockaccount_typeaccountsactivity_scheduleactual_cpcadvertiser_idadvertisersallowed_accountsalphabeticapi_accessapi_changesapi_keyapi_newsletterapi_secretaudienceaudience_onboardingaudience_segmentsaudience_targetingaudiencesaudit_trailauthorization_codeauto_targetingaws_downtimeaws_serverbalancebasebasic_authenticationbibidbid_modifierbid_modifiersbillingbilling_cycleblockblock_publisherblock_publishersbrand_safetybrowser_breakdownbulk_createbulk_updatebulk_update_campaignsby_audienceby_campaignby_hour_of_daycachingcampaigncampaign_daycampaign_day_breakdowncampaign_fieldscampaign_learningcampaign_levelcampaign_ownercampaign_site_daycampaign_summarycampaignscity_targetingclick_idclicksclient_credentialscode_snippetconnectorcontent-typeconversion_dataconversion_ruleconversionsconversions_valuecorscountriescountrycountry_codescpa_actionscpa_actions_numcpccpc_macrocreate_campaigncreate_itemcreate_timecreation_datecustom_audiencecustom_audience_rulecustom_conversion_rulecustom_conversionscut_offdaily_capdaily_spenddata_freshnessdata_studiodata_studio_connectordayday_dimensiondelaydeletedictionarydifferent_accountdiscrepancydocs_issuedocumentationdomainduplicateduplicate_campaignempty_responseend_dateevent_basedexelatefeature_requestfetch_levelfiltersfirst_party_audienceflowfull_authenticationget_account_detailsgoogle_apps_scriptgoogle_scriptgoogle_sheetshidden_audiencehidden_segmentshourlyhourly_reportinghourly_spendhtmlhtml_login_pagehtml_responseiasimplicit_flowinactive_accountsinclude_multi_conversionsinclusionsintegrationinternal_support_ticketip_addressis_atomicitemitemsixudra_curljava_client_sdkjava_sdkjavascriptjsjupyter_notebooklaravellearning_statelimitlist_of_publisherslookalike_audiencelookalike_audienceslookback_windowloss_of_scalemacrosmalformed_jsonmarketplacemarketplace_audiencesmax_campaignsmax_itemsmax_resultsminimum_bidminimum_cpcmixedanalyticsmy_audiencesnetworknetwork_accountnew_featurenullnumeric_site_idoauth2os_breakdownpage_viewpagingpartner_typepassword_credentialspatchpausepermissionsphppixel_lookalikeplacementplacement_breakdownplacement_filterplacement_nameplatform_targetingpostmanprecannedprerequisites_not_metpublisherpublisher_bid_modifierpublisher_blockspublisher_idpublisher_namepublisher_networkpublisher_reportspublisher_targetingpublisher_urlpublisherspythonpython_clientrrate_limitreal_timereal_time_reportingrecommendation_apiredirect_urirejected_campaignsremove_allreport_cachingreportingreporting_discrepancyreportsretention_periodrevenuerevenue_summaryrevenue_summary_reportroadmaps2ssafety_ratingsalessandboxscalesitesite_breakdownsite_nameslowslownesssort_filterspecial_charsspendspending_limitsslssostatussub_accountssupermetricssupport_tickettataboola_adstaboola_pixeltargetingtcctest_accounttheoptimizertimeouttimezonetlstop_campaign_contenttop_contenttracking_codetypouiunblock_publishersunknown_publisherupdate_itemupload_imageurluser_accountsuser_segmentsutmvaluevideovideo_campaign_summaryvideo_campaignsvideo_completionsvideo_itemvideo_itemsviewsvisit_valuevoluumweb_hookswhitelistx-www-form-urlencodedyearly_reportingנ