To guide you setting up OAuth using ScribeJava, here are several resources that may help:
Also, I was able to validate a response from our API using Twurl:
twurl -H ads-api.twitter.com "/1/stats/accounts/18ce548hnmt?entity_ids=8335v&entity=CAMPAIGN&start_time=2017-04-15T18:00:00Z&end_time=2017-04-18T18:00:00Z&granularity=TOTAL&metric_groups=ENGAGEMENT,BILLING&placement=ALL_ON_TWITTER" | jq
{
"data_type": "stats",
"time_series_length": 1,
"data": [
{
"id": "8335v",
"id_data": [
{
"segment": null,
"metrics": {
"impressions": null,
"tweets_send": null,
"billed_charge_local_micro": null,
"qualified_impressions": null,
"follows": null,
"app_clicks": null,
"retweets": null,
"likes": null,
"engagements": null,
"clicks": null,
"card_engagements": null,
"replies": null,
"url_clicks": null,
"billed_engagements": null,
"carousel_swipes": null
}
}
]
}
],
"request": {
"params": {
"start_time": "2017-04-15T18:00:00Z",
"segmentation_type": null,
"entity_ids": [
"8335v"
],
"end_time": "2017-04-18T18:00:00Z",
"country": null,
"placement": "ALL_ON_TWITTER",
"granularity": "TOTAL",
"entity": "CAMPAIGN",
"platform": null,
"metric_groups": [
"ENGAGEMENT",
"BILLING"
]
}
}
}
This leads me to believe there is an issue with your authentication credentials. Have you tried using Twurl to validate your credentials?