Hi,
I am getting InternalApiError.UNEXPECTED_INTERNAL_API_ERROR while
adding a campaign in sandbox mode.
Below is the code :
import java.rmi.RemoteException;
import java.util.Hashtable;
import javax.xml.rpc.ServiceException;
import com.google.api.adwords.lib.AdWordsService;
import com.google.api.adwords.lib.AdWordsServiceLogger;
import com.google.api.adwords.lib.AdWordsUser;
import com.google.api.adwords.v201008.cm.ApiException;
import com.google.api.adwords.v201008.cm.Budget;
import com.google.api.adwords.v201008.cm.BudgetBudgetDeliveryMethod;
import com.google.api.adwords.v201008.cm.BudgetBudgetPeriod;
import com.google.api.adwords.v201008.cm.Campaign;
import com.google.api.adwords.v201008.cm.CampaignOperation;
import com.google.api.adwords.v201008.cm.CampaignReturnValue;
import com.google.api.adwords.v201008.cm.CampaignServiceInterface;
import com.google.api.adwords.v201008.cm.CampaignStatus;
import com.google.api.adwords.v201008.cm.ManualCPC;
import com.google.api.adwords.v201008.cm.Money;
import com.google.api.adwords.v201008.cm.Operator;
import com.splintir.util.Constants;
public class AddCampaign {
public static void main(String[] args) {
Hashtable<String, String> headers = new Hashtable<String,
String>();
headers.put("email", ADWORD_EMAIL );
headers.put("password", ADWORD_PASSWORD );
headers.put("useragent", ADWORD_USERAGENT );
headers.put("developerToken", ADWORD_EMAIL++INR );
headers.put ("useSandbox", "true" );
headers.put("clientEmail", client_1+ADWORD_EMAIL);
AdWordsUser user = new AdWordsUser(headers);
CampaignServiceInterface campaignService=null;
try
{
campaignService =
user.getService(AdWordsService.V201008.CAMPAIGN_SERVICE);
}
catch (ServiceException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
// Create campaign.
Campaign campaign = new Campaign();
campaign.setName("Interplanetary Cruise #" +
System.currentTimeMillis());
campaign.setStatus(CampaignStatus.PAUSED);
campaign.setBiddingStrategy(new ManualCPC());
// Create budget.
Budget budget = new Budget();
budget.setPeriod(BudgetBudgetPeriod.DAILY);
budget.setAmount(new Money(null, 50000000L));
budget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD);
campaign.setBudget(budget);
// Create operations.
CampaignOperation operation = new CampaignOperation();
operation.setOperand(campaign);
operation.setOperator(Operator.ADD);
CampaignOperation[] operations = new CampaignOperation[]
{operation};
// Add campaign.
CampaignReturnValue result=null;
try
{
result = campaignService.mutate(operations);
}
catch (ApiException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (RemoteException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
// Display campaigns.
if (result != null && result.getValue() != null) {
for (Campaign campaignResult : result.getValue()) {
System.out.println("Campaign with name \"" +
campaignResult.getName() + "\" and id \""
+ campaignResult.getId() + "\" was added.");
}
} else {
System.out.println("No campaigns were added.");
}
}
}
FYI - I created new adwords account for testing and development
purposes and didn't enter any billing info...Does billing info or
activation charges necessary for API usuage in sandbox mode?
Adwords API Team - please help.
regards,
Sunny
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.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