ไม่สามารถเปิด Google Doc จากสคริปต์ของฉันได้

ดังนั้น... ฉันกำลังพยายามเริ่มต้นใช้งาน Google Apps Script โดยทำงานร่วมกับ หนังสือเล่มนี้

ในตัวอย่างแรกๆ ฉันประสบปัญหาเล็กน้อย ฉันไม่สามารถรับสคริปต์เพื่อเปิด Google เอกสาร พิมพ์คำทักทายแล้วปิดได้

นี่คือรหัสที่เกี่ยวข้อง:

function helloDocument() {
  var greeting = 'Hello World!';

  // Create DocumentApp instance
  var doc = DocumentApp.create('test_DocumentApp');

  // Write the greeting to a Google Document.
  doc.setText(greeting);

  // Close the newly created document
  doc.saveAndClose();
}

มีความคิดเห็นเกี่ยวกับสิ่งที่ฉุดรั้งฉันไว้บ้างไหม? เมื่อฉันเลือกฟังก์ชันที่จะเรียกใช้จาก Script Editor มันแสดงข้อความว่ากำลังทำงานอยู่ จากนั้น... ไม่มีอะไรเลย


person memilanuk    schedule 04.09.2016    source แหล่งที่มา
comment
รหัสของคุณใช้งานได้ดีบนเครื่องของฉัน ฉันคิดว่าปัญหาอยู่ที่การอนุญาตไม่เพียงพอที่คุณมี   -  person Eugene    schedule 04.09.2016
comment
@ Eugene ฉันจะเปลี่ยนการอนุญาตเป็นสิ่งที่ฉันต้องการได้อย่างไร   -  person memilanuk    schedule 04.09.2016
comment
โดยปกติเมื่อคุณเริ่มสคริปต์ในครั้งแรกที่ระบบถามคุณเกี่ยวกับการอนุญาต คุณเคยเห็นกล่องโต้ตอบดังกล่าวหรือไม่?   -  person Eugene    schedule 04.09.2016


คำตอบ (2)


รหัสที่คุณแชร์กำลังสร้างไฟล์ชื่อ test_DocumentApp ในโฟลเดอร์รูทของ Google Drive และเพิ่มข้อความ Hello World! เข้าไปด้านใน หากคุณไม่พบ ให้ไปที่ Google ไดรฟ์ > ล่าสุด เพื่อดู ดูเอกสารและวิดีโออย่างเป็นทางการของ Google ที่มีการใช้งานคล้ายกัน

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรกับ "ถ้าอย่างนั้น... ไม่มีอะไร" บางทีผลลัพธ์ที่คุณคาดหวังก็คือเห็นมันเปิดแท็บด้วย Google Doc ตั้งค่าข้อความแล้วปิดมันใช่ไหม

person ocordova    schedule 04.09.2016
comment
'บางทีผลลัพธ์ที่คุณคาดหวังก็คือเห็นมันเปิดแท็บด้วย Google Doc ตั้งค่าข้อความแล้วปิดมันใช่ไหม' นั่นมันสวยมาก ปรากฎว่า Google ชีตสร้าง Google เอกสารและตั้งค่าข้อความไว้ข้างในได้อย่างสนุกสนาน ฉันคิดว่าอย่างน้อยฉันก็จะได้เห็นมันโผล่ขึ้นมาให้เห็นตลอดทาง - person memilanuk; 05.09.2016
comment
สคริปต์ของ Google Apps ทำงานอยู่เบื้องหลัง หลังจากเรียกใช้ฟังก์ชันแล้ว คุณสามารถไปที่ ดู › การถอดเสียงการดำเนินการ เพื่อดูรายละเอียดของการดำเนินการหรือบันทึกบางอย่าง เช่น Logger.log(doc.getUrl()); - person ocordova; 05.09.2016

คุณเกือบจะถึงที่นั่นแล้ว หากคุณใช้สคริปต์แบบสแตนด์อโลน (เช่น ไม่ได้เชื่อมโยงกับเอกสาร) โค้ดด้านล่างนี้น่าจะเหมาะกับคุณ:

function helloDocument() {
  var greeting = 'Hello World!';

  // Create new google doc
  var doc = DocumentApp.create('test_DocumentApp');

  // get the body of the document
  var body = doc.getBody();

  body.setText(greeting);

  // Save and close the newly created document
  doc.saveAndClose();
}

ตามที่ระบุไว้โดย Eugene และผู้โพสต์คนอื่นๆ คุณจะต้องตรวจสอบให้แน่ใจว่าคุณให้สิทธิ์ที่เพียงพอเมื่อเรียกใช้สคริปต์ในครั้งแรก ถ้าคุณยังไม่ได้ทำ ด้านล่างนี้คือภาพหน้าจอที่แสดงขั้นตอนการทำงาน:

ตรวจสอบสิทธิ์

คลิก Review Permissions หากคุณบล็อกป๊อปอัป (อาจเป็นตัวบล็อกโฆษณา) คุณอาจต้องอนุญาตป๊อปอัปสำหรับไซต์นี้ด้วย

ป้อนคำอธิบายรูปภาพที่นี่

คลิก Accept เพื่อให้สิทธิ์แก่สคริปต์ของคุณ

สิ่งนี้จะเรียกใช้โค้ดของคุณและสร้างไฟล์ในไดเร็กทอรีรากของไดรฟ์ของคุณ ไปที่ไดรฟ์แล้วค้นหาไฟล์ชื่อ test_DocumentApp แล้วคุณจะเห็นเอกสารที่มีสตริงคำทักทาย Hello World!

person Will    schedule 04.09.2016
comment
สวัสดี Will อย่างที่ฉันพูดไปแล้วว่าโค้ดนี้ (ตามสภาพ) ทำงานบนเครื่องของฉัน - ไม่มีข้อผิดพลาดและสร้างไฟล์ด้วยไฟล์ที่ต้องการ คุณจะอธิบายสิ่งนั้นได้อย่างไร? - person Eugene; 04.09.2016
comment
สวัสดี @Will... ยังคงให้ผลลัพธ์เหมือนเดิม - พูดว่า 'กำลังทำงาน...' แต่ก็ไม่มีอะไรเลย - person memilanuk; 04.09.2016