Hi Team,
I have used function get all keyword in file attach but I can't get status
of keyword.Please let me know if I have gotten status of keyword in some
ways.
I'm try using BiddableadGroupCriterion.userStatus but it only return status
= Active
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
public static void GetKeywords()
{
WriteLog(DateTime.Now.ToString() + ":Start Keywords.");
AdWordsUser user = new AdWordsUser();
Config(user);
DataSet ds = adw_Get_adwAdGroupActive();
if (ds == null || ds.Tables[0] == null || ds.Tables[0].Rows.Count
<= 0)
return;
string xml = string.Empty;
int j = 0;
//int flag = 1;
adw_Delete_adwKeywordActiveImport();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["AdGroupID"] != null &&
!string.IsNullOrEmpty(dr["AdGroupID"].ToString()))
{
// Get the AdGroupCriterionService.
AdGroupCriterionService adGroupCriterionService =
(AdGroupCriterionService)user.GetService(AdWordsService.v201309.AdGroupCriterionService);
// Create a selector.
Selector selector = new Selector();
selector.fields = new string[] { "Id", "AdGroupId",
"KeywordText" };
// Select only keywords.
Predicate predicate = new Predicate();
predicate.field = "CriteriaType";
predicate.@operator = PredicateOperator.EQUALS;
predicate.values = new string[] { "KEYWORD" };
Predicate predicate2 = new Predicate();
predicate2.field = "AdGroupId";
predicate2.@operator = PredicateOperator.EQUALS;
predicate2.values = new string[] {
dr["AdGroupID"].ToString() };
selector.predicates = new Predicate[] { predicate,
predicate2 };
// Set the selector paging.
selector.paging = new Paging();
int offset = 0;
int pageSize = 500;
AdGroupCriterionPage page = new AdGroupCriterionPage();
try
{
do
{
selector.paging.startIndex = offset;
selector.paging.numberResults = pageSize;
// Get the keywords.
page = adGroupCriterionService.get(selector);
// Display the results.
if (page != null && page.entries != null)
{
//if (flag.Equals(1))
//{
// flag = 0;
//}
int i = offset;
string destinationURL = string.Empty;
foreach (AdGroupCriterion adGroupCriterion in
page.entries)
{
bool isNegative = (adGroupCriterion is
NegativeAdGroupCriterion);
// If you are retrieving multiple type of
criteria, then you may
// need to check for
//
// if (adGroupCriterion is Keyword) { ... }
//
// to identify the criterion type.
Keyword keyword =
(Keyword)adGroupCriterion.criterion;
BiddableAdGroupCriterion
BiddableadGroupCriterion = null;
if (isNegative)
{
xml +=
string.Format("<Keyword><adGroupId>{0}</adGroupId><id>{1}</id><text>{2}</text><matchType>{3}</matchType><destinationUrl>{4}</destinationUrl><Type>{5}</Type></Keyword>",
adGroupCriterion.adGroupId, keyword.id,
Microsoft.Security.Application.Encoder.XmlEncode(keyword.text),
string.Empty,string.Empty,string.Empty);
Console.WriteLine("{0}) Negative
keyword with ad group ID = '{1}', keyword ID " +
"= '{2}', and text = '{3}' was
found.", i + 1, adGroupCriterion.adGroupId,
keyword.id, keyword.text);
}
else
{
destinationURL = string.Empty;
BiddableadGroupCriterion =
(BiddableAdGroupCriterion)adGroupCriterion;
if (BiddableadGroupCriterion.criterion
is Keyword)
{
destinationURL =
BiddableadGroupCriterion.destinationUrl;
}
xml +=
string.Format("<Keyword><adGroupId>{0}</adGroupId><id>{1}</id><text>{2}</text><matchType>{3}</matchType><destinationUrl>{4}</destinationUrl><Type>{5}</Type></Keyword>",
adGroupCriterion.adGroupId,
keyword.id, Microsoft.Security.Application.Encoder.XmlEncode(keyword.text),
keyword.matchType, destinationURL, BiddableadGroupCriterion != null ?
BiddableadGroupCriterion.userStatus.ToString(): UserStatus.ACTIVE.ToString());
Console.WriteLine("{0}) Keyword with ad
group ID = '{1}', keyword ID = '{2}', " +
"text = '{3}' and matchType = '{4}
was found.", i + 1,
adGroupCriterion.adGroupId,
keyword.id, keyword.text, keyword.matchType);
}
i++;
j++;
if (j >= 200 && !string.IsNullOrEmpty(xml))
{
adw_Update_adwKeywordActiveImport(string.Format("<Keywords>{0}</Keywords>",
xml));
j = 0;
xml = string.Empty;
}
}
}
offset += pageSize;
} while (offset < page.totalNumEntries);
Console.WriteLine("Number of keywords found: {0}",
page.totalNumEntries);
}
catch (Exception ex)
{
WriteLog(DateTime.Now.ToString() + "Failed to retrieve
keywords." + ex);
}
}
}
if (!string.IsNullOrEmpty(xml))
{
adw_Update_adwKeywordActiveImport(string.Format("<Keywords>{0}</Keywords>",
xml));
}
Thread.Sleep(60000);
adw_Update_adwKeywordActive();
WriteLog(DateTime.Now.ToString() + ":End Keywords.");
}