首页 > 解决方案 > 对 Google Ads API 的所有请求的内部服务器错误 500

问题描述

这是我在 Node JS 中的代码。

 var bearerToken = 'Bearer '+ access_token;

 var options = {
                 url: 'https://googleads.googleapis.com/v1/customers/'+accountid+'/googleAds:search',
                 headers: {
                       'Authorization': bearerToken,
                       'Accept': 'application/json',
                       'Content-Type': 'application/json',
                       'login-customer-id': '123-456-7890',
                       'developer-token': 'XXX_XXXXXXXXXXX'
                     },
                     form: { 'query': 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id' }


                   };


                   request.post(options, function(err, response) {
                       console.log(response);
                   });

我不断收到以下错误

body: '{\n  "error": {\n    "code": 500,\n    "message": "Internal error encountered.",\n    "status": "INTERNAL"\n  }\n}\n' }

500 错误代码表示该错误来自 Google。是这种情况还是我在这里做错了什么?

标签: google-apigoogle-ads-api

解决方案


在多次迭代打破了我的头之后。最后,我发现问题出在developer-token. 我必须生成一个新的developer-token并更改formjson. 现在工作正常。

这是最终的工作代码

var bearerToken = 'Bearer '+ access_token;

var options = {
             url: 'https://googleads.googleapis.com/v1/customers/'+accountid+'/googleAds:search',
             headers: {
                   'Authorization': bearerToken,
                   'Accept': 'application/json',
                   'Content-Type': 'application/json',
                   'developer-token': 'XXX_XXXXXXXXXXX'
                 },
                 json: { 'query': 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id' }


               };


               request.post(options, function(err, response) {
                   console.log(response);
               });

推荐阅读