質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • Google Apps Script

    720questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

  • Slack

    164questions

    Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Google Apps Scriptのエラーについて2

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 604

yoshimoto31

score 1

前提・実現したいこと

Googleスプレッドシートのセルの内容をSlackに出したいと考えております。

発生している問題・エラーメッセージ

https://hooks.slack.com/services/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 のリクエストに失敗しました(エラー: 500)。サーバー応答の一部: missing_text_or_fallback_or_attachments(応答の全文を見るには muteHttpExceptions オプションを使用してください)(行 43、ファイル「コード」)

該当のソースコード

function play() {
  var Sheet =SpreadsheetApp.getActiveSheet();
  var Cell = Sheet.getActiveCell();
  var link = 'https://docs.google.com/spreadsheets/d/1koGA10-wAA9nNWYCOQjSGqfcSFNn8vT3aB7l_xQZm48/edit#gid=1067468315';

 if(Cell.getColumn() ==3)
 {
   if
     (Sheet.getRange(Cell.getRow(),Cell.getColumn()).getValue() !="")
   {
  var content= "ヮ(゚д゚)ォ!\n```というのも"+Sheet.getRange(Cell.getRow(),8).getValue()+">\n↑\nそういうことだ\n"+Sheet.getRange(1,2).getValue()+"\n【課題内容】\n"+Sheet.getRange(Cell.getRow(),11).getValue()+"```"
 sendSlack(content);
  }
 }
}

function sendSlack(content)
{
  if (content == '') {
    return;
  }
  // テストで送りたい場所変えるならここいじって

  var url = 'https://hooks.slack.com/services/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';
  var channel='test2_yoshimoto';

  // slackに送る内容
  // link_names不明、icon_emoji変えると好きなiconになる
  var data = {
    "channel": channel,
    "username": "gengar",
    "link_names": 1,
    "text": content
  };

  // 以下、送ってる、特に変える必要なし
  var payload = JSON.stringify(data);
  var options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : payload
  };
 var response = UrlFetchApp.fetch(url, options);
}

困っている所

リクエストに失敗したとのことですが、どう失敗しているのかがわからずな状態です。。

如何せん素人で恐縮ですが、アドバイスいただけますと幸いです。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

(解決に直接結びつく回答ではないので、申し訳ないのですが、途中までの経過です)
ご提示されているソースコードを元に、私の環境でも実行してみましたが、特に問題なく、Slack通知されました。

わざと通知先のチャンネル名を間違えたり、Webhook URLを間違えてみたりと、
いろいろ条件を変えてみると、いくつかのエラーを確認することはできたのですが、
いずれも400番台のエラーで、ご記載いただいているようなエラーコード500で
「missing_text_or_fallback_or_attachments」というのは、再現できませんでした。

Slack公式によると、例外的な状況にあるように思われます。

Improving error conditions for Incoming Webhooks

解決に至れず恐縮ですが、ひとまずソースコードそのものは、
私の方の環境では動いているということだけ、お伝えさせていただきます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Google Apps Script

    720questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

  • Slack

    164questions

    Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。