Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构造UrlFetchApp请求以从ChinaBrands API获取访问令牌_Api_Google Apps Script_Google Sheets - Fatal编程技术网

构造UrlFetchApp请求以从ChinaBrands API获取访问令牌

构造UrlFetchApp请求以从ChinaBrands API获取访问令牌,api,google-apps-script,google-sheets,Api,Google Apps Script,Google Sheets,请参阅下面的附加文档API屏幕截图链接。 我正在尝试使用谷歌应用程序脚本连接ChinaBrands API。 我收到一个错误,上面写着“{”status:0,“msg:“请求的信息为空”,“errcode:10006}” 请参阅此图:获取AccessToken的文档API: 文档有点误导。您需要使用内容类型:application/x-www-form-urlencoded发出POST请求。请求数据字段应该是一个字符串,其中包含JSON格式的数据。我猜,根据您使用的语言/库,您可能需要在发出请求

请参阅下面的附加文档API屏幕截图链接。 我正在尝试使用谷歌应用程序脚本连接ChinaBrands API。 我收到一个错误,上面写着
“{”status:0,“msg:“请求的信息为空”,“errcode:10006}”

请参阅此图:获取AccessToken的文档API:


文档有点误导。您需要使用
内容类型:application/x-www-form-urlencoded
发出POST请求。请求数据字段应该是一个字符串,其中包含JSON格式的数据。我猜,根据您使用的语言/库,您可能需要在发出请求之前对JSON数据进行URL编码

生成的请求应该如下所示:

function getAccessToken() 
{
  var url = "https://gloapi.chinabrands.com/v2/user/login";
  var data = {
    "email": EMAILID,
    "password": PWD,
    "client_id": APIKEY
  }
  var payload = {
    "data": data,
    "signature": Utilities.base64Encode(data + SECRETKEY)
  }

  var options = {
    "method": "post",
    "contentType": "application/json",                 
    "payload": payload
  };
  var json = UrlFetchApp.fetch(url, options).getContentText();
  Browser.msgBox(json);
}

嗨,Kishan Panchal,你在哪里找到API文档的?我已经找了很久了,但到目前为止没有运气。。。
POST https://gloapi.chinabrands.com/v2/user/login
...
Accept: */*
Content-Type: application/x-www-form-urlencoded

signature=<md5 of string containing data in json + client secret>&data=%7B%22email%22%3A+%22name%40example.com%22%2C+%22password%22%3A+%2222password1%22%2C+%22client_id%22%3A+%1337%22%7D
url = "https://gloapi.chinabrands.com/v2/user/login"

data = {...}

json_data = json.dumps(data)

signature = md5((json_data + client_secret).encode('utf')).hexdigest()

response = requests.post(url, data={'signature': signature, 'data': json_data})