Мобильные устройства: действие отсутствует - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь выполнить POST действия, однако, когда я делаю запрос, я получаю код 400, говорящий об отсутствии значения действия.

мой код:

function mobileAPIPOST() {

  var response = UrlFetchApp.fetch(
    "https://www.googleapis.com/admin/directory/v1/customer/my_customer/devices/mobile/fakexQ_fake0Z0dKFdSblfakeTnnfakel7IYwixfake4ddZfakeAIvnmu/action", {
      method: "POST",
      headers: {
        "Authorization": "Bearer " + ScriptApp.getOAuthToken(),
        "Content-Type": "application/json",
      },
      data: {
        "action": "block"
      },
      muteHttpExceptions: true
    });

}

Я обновил код после ответа от @ TheMaster.

Мой обновленный код:

function mobileAPIPOST() {

  var response = UrlFetchApp.fetch(
    "https://www.googleapis.com/admin/directory/v1/customer/my_customer/devices/mobile/fakexQ_fake0Z0dKFdSblfakeTnnfakel7IYwixfake4ddZfakeAIvnmu/action", {
      method: "POST",
      headers: {
        "Authorization": "Bearer " + ScriptApp.getOAuthToken(),
        "Content-Type": "application/json",
      },
      payload: {
        "action": "block"
      },
      muteHttpExceptions: true
    });

}

Указана ошибка:

{
  "error": {
      "errors": [
       {
        "domain": "global",
        "reason": "parseError",
        "message": "Parse Error"
       }
      ],
      "code": 400,
      "message": "Parse Error"
     }
    }

1 Ответ

0 голосов
/ 21 ноября 2018

UrlFetchApp не имеет ключевого параметра data.Вместо этого используйте payload.

Ссылка:

UrlFetchApp

Фрагмент кода:

UrlFetchApp.fetch(url,
    {
      method: "POST",
      headers: {
        "Authorization": "Bearer " + ScriptApp.getOAuthToken(),
      },
      contentType:  'application/json',
      payload: JSON.stringify({
        "action": "block"
      }),
      muteHttpExceptions: true
    });
...