Google 张 appscript - Pipedrive post

Google sheets appscript - Pipedrive post

我在尝试向 Pipedrive 交易发出 put/post 请求时收到错误 'Exception: Request failed for https://api.pipedrive.com returned code 404. Truncated server response: {"status":false,"error":"Unknown method ."} (use muteHttpExceptions option to examine full response)'。 (日期字段)下面是产生错误的函数。我很确定这是显而易见的事情,但我无法自行确定原因。任何帮助将不胜感激。

function Update_pipedrive_Date(dealid, field_name){
  var todays_date = Utilities.formatDate(new Date(), "GMT-5", "yyyy-MM-dd"); // "yyyy-MM-dd'T'HH:mm:ss'Z'"
  var url = 'https://api.pipedrive.com/v1/deals/' + dealid + '?api_token='+oys_api_key
  var data = {field_name: todays_date};
  var options = {
  'method': 'post',
  'contentType': 'application/json',
  'payload': JSON.stringify(data)
};
var response = UrlFetchApp.fetch(url, options);
  return response
}


def update_field(this_dealid, fieldid):
    tday = now.strftime("%Y-%m-%d")
    headers = {'content-type': 'application/json'}
    updates = {fieldid: tday}
    resp = requests.put(
        'https://api.pipedrive.com/v1/deals/' + str(
            this_dealid) + '?api_token=' + api_key,
        data=json.dumps(updates), headers=headers)
    return resp

我相信你的目标如下。

  • 您提供的 python 脚本工作正常。
  • 您想将 python 脚本转换为 Google Apps 脚本。

修改点:

  • 您的 python 脚本请求 PUT 方法。但是您的 Google Apps 脚本请求 POST 方法。
  • {field_name: todays_date}的情况下,key总是“field_name”。

当这些点都体现在你的脚本中,下面的修改怎么样?

修改后的脚本:

var field_name = "###"; // Please set your field_name.
var dealid = "###"; // Please set your dealid.
var oys_api_key = "###"; // Please set your oys_api_key.

var todays_date = Utilities.formatDate(new Date(), "GMT-5", "yyyy-MM-dd");
var url = 'https://api.pipedrive.com/v1/deals/' + dealid + '?api_token=' + oys_api_key;
var data = { [field_name]: todays_date };
var options = {
  'method': 'put',
  'contentType': 'application/json',
  'payload': JSON.stringify(data)
};
var response = UrlFetchApp.fetch(url, options);

注:

  • 我认为此 Google Apps 脚本的请求与您的 python 脚本相同。但如果此脚本出现错误,请再次确认您的field_namedealidoys_api_key变量。即使这些变量是有效值,当发生错误时,我担心 URL 可能无法从 Google 端访问。

参考: