#google-ads-api
#google-ads-api
Вопрос:
Существует пример получения ключевых слов в группе объявлений, но я хочу найти количество всех ключевых слов в аккаунте.
Как я могу сделать это на Java?
Ответ №1:
Вот как я изменил код API adwords, чтобы он мог получать количество ключевых слов в учетной записи (указано как clientCustomerId
в ads.properties
файле).
package adwords.axis.v201609.basicoperations;
import com.google.api.ads.adwords.axis.factory.AdWordsServices;
import com.google.api.ads.adwords.axis.utils.v201609.SelectorBuilder;
import com.google.api.ads.adwords.axis.v201609.cm.AdGroupCriterionPage;
import com.google.api.ads.adwords.axis.v201609.cm.AdGroupCriterionServiceInterface;
import com.google.api.ads.adwords.axis.v201609.cm.Paging;
import com.google.api.ads.adwords.axis.v201609.cm.Selector;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.selectorfields.v201609.cm.AdGroupCriterionField;
import com.google.api.ads.common.lib.auth.OfflineCredentials;
import com.google.api.client.auth.oauth2.Credential;
import java.text.NumberFormat;
/**
* This example gets the count of all ad group criteria in an account.
*
* @modified by Biniam Asnake.
*/
public class GetCountOfKeywordsInAccount {
public static void main(String[] args) throws Exception {
// execution duration counter
long started = System.currentTimeMillis();
// Generate a refreshable OAuth2 credential.
Credential oAuth2Credential = new OfflineCredentials.Builder()
.forApi(OfflineCredentials.Api.ADWORDS)
.fromFile()
.build()
.generateCredential();
// Construct an AdWordsSession.
AdWordsSession session = new AdWordsSession.Builder()
.fromFile()
.withOAuth2Credential(oAuth2Credential)
.build();
AdWordsServices adWordsServices = new AdWordsServices();
runExample(adWordsServices, session);
System.out.println("Execution took: " ((System.currentTimeMillis() - started) / 1000) " seconds.");
}
public static void runExample(AdWordsServices adWordsServices, AdWordsSession session) throws Exception {
// Get the AdGroupCriterionService.
AdGroupCriterionServiceInterface adGroupCriterionService =
adWordsServices.get(session, AdGroupCriterionServiceInterface.class);
// Create selector.
SelectorBuilder builder = new SelectorBuilder();
Selector selector = builder
.fields(AdGroupCriterionField.Id)
.in(AdGroupCriterionField.CriteriaType, "KEYWORD")
.in(AdGroupCriterionField.Status, "ENABLED")
.build();
// Set selector paging = the most important change is to set numberResults to 0.
Paging paging = new Paging();
paging.setNumberResults(0);
selector.setPaging(paging);
// Get all ad group criteria.
AdGroupCriterionPage page = adGroupCriterionService.get(selector);
System.out.println("Count of Keywords = " NumberFormat.getInstance().format(page.getTotalNumEntries()));
}
}
Убедитесь ads.properties
, что в вашем пути к классу есть file .
# Credentials for accessing Google AdWords API
api.adwords.refreshToken=SOME-THING
api.adwords.clientId=SOME-THING
api.adwords.clientSecret=SOME-THING
api.adwords.userAgent=SOME-THING
api.adwords.developerToken=SOME-THING
api.adwords.isPartialFailure=true
api.adwords.clientCustomerId=123456789