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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Zendesk

Zendeskは、カスタマーサービスのクラウド型ソフトウェア。サイトやメール、電話の他、TwitterやFacebookなど様々なチャネルを一元化して対応することが可能です。様々なデバイスに対応しており、多くのビジネスツールとの連携もできます。

Q&A

0回答

1818閲覧

GASでzendesk api経由のチケットを作成するときの改行がおかしい

SYSYSYSYSYSY

総合スコア8

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Zendesk

Zendeskは、カスタマーサービスのクラウド型ソフトウェア。サイトやメール、電話の他、TwitterやFacebookなど様々なチャネルを一元化して対応することが可能です。様々なデバイスに対応しており、多くのビジネスツールとの連携もできます。

0グッド

1クリップ

投稿2021/09/28 09:14

編集2021/09/29 00:24

前提・実現したいこと

GASを使ってzendesk apiからチケットを発行するプログラムを書いています。
他の機能は問題ないのですが、本文の内容の改行だけうまくいきません。
"\n"をひとつしかいれていないのに、間に一行改行がはいってしまいます。
zendeskのhtmlを確認したところ

name,'様' <br> 'いつもお世話になっております。' <br> '調査番号:'value2 <br> '調査内容:' <br> value <br> 'ろしくお願いいたします。' <br> assignee

となっていました。

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

欲しい結果

name,'様' 'いつもお世話になっております。' '調査番号:'value2 '調査内容:' value 'ろしくお願いいたします。' assignee

現在の結果

name,'様' 'いつもお世話になっております。' '調査番号:'value2 '調査内容:' value 'ろしくお願いいたします。' assignee

該当のソースコード

GAS

1function testInquiry() { 2//アクティブなスプレッドシートのシートを取得する 3let mySheet = SpreadsheetApp.getActiveSheet(); 4//選択されているアクティブな範囲を取得する 5let myActiveRange = mySheet.getActiveRange(); 6//アクティブな範囲から最初のRow:行、Column:列を取得する 7let selectedRow = myActiveRange.getRow(); 8let selectedColumn = myActiveRange.getColumn(); 9Logger.log(selectedColumn) 10Logger.log(selectedRow) 11 12if(selectedColumn==11){ //アクティブセルがK列かを判定 13 var changedRow = selectedRow; 14} 15Logger.log(changedRow) 16 17 18var range = mySheet.getRange("D"+changedRow);//お問い合わせ内容 19var range2 = mySheet.getRange("B"+changedRow)//調査番号 20var rangeName = mySheet.getRange("J"+changedRow)//顧客番号 21Logger.log(range.getValue()) 22Logger.log(range2.getValue()) 23Logger.log(myActiveRange.getValue()) 24if (myActiveRange.getValue() == "済"){ 25 var value = range.getValue() 26 var value2 = range2.getValue() 27 var name = rangeName.getValue() 28 29var assignee = "staff1" 30var assignee_id = "staffid" 31 32//文言変えたいばあいはここ 33 34 var array = [ 35 name,'様','\n', 36 'いつもお世話になっております。','\n', 37 '調査番号:',value2,'\n', 38 '調査内容:','\n', 39 value, '\n', 40 'ろしくお願いいたします。','\n', 41 '\n', 42 assignee]; 43 var values = array.join('').replace(/\r?/g,""); 44} 45else{ 46 var values = "まだです" 47} 48//var values = value+value2 49Logger.log(values) 50return[values,name,assignee_id,value2] 51} 52 53 54function onSubmit(e){ 55 var body = testInquiry()[0] 56 var name = testInquiry()[1] 57 var assignee_id = testInquiry()[2] 58 var value2 = testInquiry()[3] 59 60 var subject_ = ['Test問合わせシート:',value2,'について']; 61 var subject = subject_.join('') 62 Logger.log(subject) 63 //var body = 'test ticket was successful!'; 64 //Logger.log(body) 65 66 Logger.log(body) 67 Logger.log(name) 68 69//ユーザーIDをハードコーディング 70 if (name == "Aさん"){ 71 var requesterEmai = "A@testtest.com" 72 } 73 else if (name == "Bさん"){ 74 var requesterEmai = "B@test.com" 75 } 76 else if (name == "Cさん"){ 77 var requesterEmai = "C@test.com" 78 } 79 Logger.log(requesterEmai) 80 81//ユーザー名とメールアドレスの組み合わせはユニークじゃないといけない 82 var data = { 83 'ticket': { 84 "tags":["japan"], 85 "assignee_id":assignee_id,//担当者は固定 86 "email_ccs": [ 87 { "user_email": "teketekete@testtest.com","action": "put"}, 88 { "user_email": "teketekete@testtest.com","action": "put"}, 89 { "user_email": "customer2@example.com","action": "put"}, 90 { "user_email": "customer3@example.com","action": "put"}, 91 { "user_email": "customer4@example.com","action": "put"}, 92 { "user_email": "customer5@example.com","action": "put"} 93 94 ],"requester":{"name":name, "email":requesterEmai},'subject': subject,'comment': {'body': body}}}; 95 var url = 'https://subdomain.zendesk.com/api/v2/tickets.json'; 96 var user = 'myemail@myemail/token'; 97 var pwd = 'mytoken'; 98 var options = { 99 'method' : 'post', 100 'headers': { 101 'Authorization': 'Basic ' + Utilities.base64Encode(user + ':' + pwd), // Modified 102 }, 103 'contentType': 'application/json', 104 'payload' : JSON.stringify(data) 105}; 106 if (body != "まだです"){ 107 Logger.log(body) 108 //UrlFetchApp.fetch(url, options); 109 } 110}

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

macaron_xxx

2021/09/28 23:15

とりあえずコードを記載してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問