ความคิดเห็นคือความคิดเห็นที่ผู้ใช้ให้ไว้ในไฟล์ เช่น ผู้อ่านเอกสารประมวลผลคำที่แนะนำวิธีเรียบเรียงประโยคใหม่ ความคิดเห็นมี 2 ประเภท ได้แก่ ความคิดเห็นที่ยึดตำแหน่งและความคิดเห็นที่ไม่ได้ยึดตำแหน่ง ความคิดเห็นที่ยึดโยงจะเชื่อมโยงกับตำแหน่งที่เฉพาะเจาะจง เช่น ประโยคในเอกสารประมวลผลคำ ภายในเอกสารเวอร์ชันที่เฉพาะเจาะจง ในทางกลับกัน ความคิดเห็นที่ไม่ได้ยึดโยงจะเชื่อมโยงกับเอกสารเท่านั้น
การตอบกลับจะแนบไปกับความคิดเห็นและแสดงถึงการตอบกลับความคิดเห็น ของผู้ใช้ Drive API ช่วยให้ผู้ใช้เพิ่มความคิดเห็นและตอบกลับเอกสารที่แอปของคุณสร้างขึ้นได้ ความคิดเห็นที่มีการตอบกลับจะเรียกรวมกันว่าการสนทนา
ใช้พารามิเตอร์ฟิลด์
สำหรับทุกเมธอด (ยกเว้น delete
) ในทรัพยากร comments
คุณต้องตั้งค่าfields
พารามิเตอร์ระบบเพื่อระบุช่องที่จะแสดงผลในการตอบกลับ ในเมธอดของทรัพยากร Drive ส่วนใหญ่ การดำเนินการนี้จำเป็นต่อการแสดงผลฟิลด์ที่ไม่ใช่ค่าเริ่มต้นเท่านั้น แต่
จำเป็นสำหรับทรัพยากร comments
หากคุณละเว้นพารามิเตอร์ fields
เมธอดจะแสดงข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่แสดงผลฟิลด์ที่เฉพาะเจาะจง
ข้อจำกัดของความคิดเห็น
ข้อจำกัดต่อไปนี้จะมีผลเมื่อทำงานกับความคิดเห็นที่ยึดและไม่ยึด ตำแหน่งด้วย Drive API
ประเภทความคิดเห็น | ประเภทไฟล์ |
---|---|
ยึด |
|
ไม่ได้ยึด |
|
เพิ่มความคิดเห็นที่ยึดกับข้อความในเอกสารฉบับแก้ไขล่าสุด
เมื่อเพิ่มความคิดเห็น คุณอาจต้องการยึดความคิดเห็นนั้นไว้กับภูมิภาคในไฟล์ Anchor จะกำหนดภูมิภาคในไฟล์ที่ความคิดเห็นอ้างอิงถึง ทรัพยากร
comments
จะกำหนดฟิลด์ anchor
เป็นสตริง JSON
วิธีเพิ่มความคิดเห็นที่ยึดตำแหน่ง
(ไม่บังคับ) เรียกใช้เมธอด
list
ในทรัพยากรrevisions
เพื่อแสดงรายการrevisionID
ทั้งหมดสำหรับเอกสาร ทำตามขั้นตอนนี้เฉพาะในกรณีที่คุณต้องการยึด ความคิดเห็นไว้กับฉบับแก้ไขอื่นที่ไม่ใช่ฉบับแก้ไขล่าสุด หากต้องการใช้การแก้ไขล่าสุด ให้ใช้head
สำหรับrevisionID
เรียกใช้เมธอด
create
ในแหล่งข้อมูลcomments
ด้วยพารามิเตอร์fileID
แหล่งข้อมูลcomments
ที่มีความคิดเห็น และสตริง Anchor JSON ที่มีrevisionID
(r
) และภูมิภาค (a
)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างความคิดเห็นที่ยึดโยง
Python
from google.oauth2.credentials import Credentials
from googleapiclient.errors import HttpError
# --- Configuration ---
# The ID of the file to comment on.
# Example: '1_aBcDeFgHiJkLmNoPqRsTuVwXyZ'
FILE_ID = 'FILE_ID'
# The text content of the comment.
COMMENT_TEXT = 'This is an example of an anchored comment.'
# The line number to anchor the comment to.
# Note: Line numbers are based on the revision.
ANCHOR_LINE = 10
# --- End of user-configuration section ---
SCOPES = ["https://www.googleapis.com/auth/drive"]
creds = Credentials.from_authorized_user_file("token.json", SCOPES)
def create_anchored_comment():
"""
Create an anchored comment on a specific line in a Google Doc.
Returns:
The created comment object or None if an error occurred.
"""
try:
# Build the Drive API service
service = build("drive", "v3", credentials=creds)
# Define the anchor region for the comment.
# For Google Docs, the region is typically defined by 'line' and 'revision'.
# Other file types might use different region classifiers.
anchor = {
'region': {
'kind': 'drive#commentRegion',
'line': ANCHOR_LINE,
'rev': 'head'
}
}
# The comment body.
comment_body = {
'content': COMMENT_TEXT,
'anchor': anchor
}
# Create the comment request.
comment = (
service.comments()
.create(fileId=FILE_ID, fields="*", body=comment_body)
.execute()
)
print(f"Comment ID: {comment.get('id')}")
return comment
except HttpError as error:
print(f"An error occurred: {error}")
return None
create_anchored_comment()
Drive API จะแสดงผลอินสแตนซ์ของออบเจ็กต์ทรัพยากร comments
ซึ่งมีสตริง anchor
เพิ่มความคิดเห็นที่ไม่ได้ยึดโยง
หากต้องการเพิ่มความคิดเห็นที่ไม่ได้ยึดตำแหน่ง ให้เรียกใช้เมธอด create
โดยใช้พารามิเตอร์ fileId
และทรัพยากร comments
ที่มีข้อความ
ระบบจะแทรกความคิดเห็นเป็นข้อความธรรมดา แต่เนื้อหาการตอบกลับจะมีฟิลด์
htmlContent
ซึ่งมีเนื้อหาที่จัดรูปแบบเพื่อแสดง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างความคิดเห็นที่ไม่ได้ยึดตำแหน่ง
Python
from google.oauth2.credentials import Credentials
from googleapiclient.errors import HttpError
# --- Configuration ---
# The ID of the file to comment on.
# Example: '1_aBcDeFgHiJkLmNoPqRsTuVwXyZ'
FILE_ID = 'FILE_ID'
# The text content of the comment.
COMMENT_TEXT = 'This is an example of an unanchored comment.'
# --- End of user-configuration section ---
SCOPES = ["https://www.googleapis.com/auth/drive"]
creds = Credentials.from_authorized_user_file("token.json", SCOPES)
def create_unanchored_comment():
"""
Create an unanchored comment on a specific line in a Google Doc.
Returns:
The created comment object or None if an error occurred.
"""
try:
# Build the Drive API service
service = build("drive", "v3", credentials=creds)
# The comment body. For an unanchored comment,
# omit the 'anchor' property.
comment_body = {
'content': COMMENT_TEXT
}
# Create the comment request.
comment = (
service.comments()
.create(fileId=FILE_ID, fields="*", body=comment_body)
.execute()
)
print(f"Comment ID: {comment.get('id')}")
return comment
except HttpError as error:
print(f"An error occurred: {error}")
return None
create_unanchored_comment()
ตอบกลับความคิดเห็น
หากต้องการเพิ่มคำตอบในความคิดเห็น ให้ใช้วิธีการ
create
ในแหล่งข้อมูล
replies
ที่มีพารามิเตอร์ fileId
และ
commentId
เนื้อความของคำขอใช้ฟิลด์ content
เพื่อเพิ่ม
การตอบกลับ
ระบบจะแทรกการตอบกลับเป็นข้อความธรรมดา แต่เนื้อหาการตอบกลับจะมีhtmlContent
ฟิลด์ที่มีเนื้อหาที่จัดรูปแบบไว้เพื่อแสดง
เมธอดจะแสดงผลช่องที่ระบุไว้ในฟิลด์ fields
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
และ commentId
รวมถึงฟิลด์หลายรายการ
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
เนื้อความของคำขอ
{ "content": "This is a reply to a comment." }
ปิดรับความคิดเห็นเพิ่มเติม
คุณจะแก้ไขความคิดเห็นได้โดยการโพสต์คำตอบของความคิดเห็นเท่านั้น
หากต้องการแก้ไขความคิดเห็น ให้ใช้วิธี create
ในแหล่งข้อมูล replies
ที่มีพารามิเตอร์ fileId
และ commentId
เนื้อหาของคำขอใช้ฟิลด์
action
เพื่อแก้ไข
ความคิดเห็น นอกจากนี้ คุณยังตั้งค่าฟิลด์ content
เพื่อเพิ่มคำตอบที่ปิดความคิดเห็นได้ด้วย
เมื่อมีการแก้ไขความคิดเห็น ไดรฟ์จะทำเครื่องหมายcomments
แหล่งข้อมูล
เป็นresolved: true
ความคิดเห็นที่แก้ไขแล้วจะรวมช่อง htmlContent
หรือ content
ได้ ซึ่งต่างจากความคิดเห็นที่ถูกลบ
เมื่อแอปแก้ไขความคิดเห็นแล้ว UI ควรระบุว่าความคิดเห็นได้รับการแก้ไขแล้ว ตัวอย่างเช่น แอปของคุณอาจมีลักษณะดังนี้
- ไม่อนุญาตให้ตอบกลับเพิ่มเติมและทำให้การตอบกลับก่อนหน้าทั้งหมดรวมถึงความคิดเห็นต้นฉบับ จางลง
- ซ่อนความคิดเห็นที่แก้ไขแล้ว
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
และ commentId
รวมถึงฟิลด์หลายรายการ
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
เนื้อความของคำขอ
{ "action": "resolve", "content": "This comment has been resolved." }
รับความคิดเห็น
หากต้องการแสดงความคิดเห็นในไฟล์ ให้ใช้เมธอด get
ในแหล่งข้อมูล comments
โดยใช้พารามิเตอร์
fileId
และ commentId
หากไม่ทราบรหัสความคิดเห็น คุณสามารถแสดงรายการความคิดเห็นทั้งหมดโดยใช้วิธี list
เมธอดจะแสดงผลอินสแตนซ์ของทรัพยากร comments
หากต้องการรวมความคิดเห็นที่ถูกลบไปแล้วไว้ในผลลัพธ์ ให้ตั้งค่าพารามิเตอร์การค้นหา includedDeleted
เป็น true
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
และ commentId
รวมถึงฟิลด์หลายรายการ
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment,modifiedTime,resolved
แสดงรายการความคิดเห็น
หากต้องการแสดงความคิดเห็นในไฟล์ ให้ใช้เมธอด list
ในแหล่งข้อมูล comments
โดยใช้พารามิเตอร์
fileId
เมธอดจะแสดงผลรายการความคิดเห็น
ส่งพารามิเตอร์การค้นหาต่อไปนี้เพื่อปรับแต่งการแบ่งหน้าหรือกรอง ความคิดเห็น
includeDeleted
: ตั้งค่าเป็นtrue
เพื่อรวมความคิดเห็นที่ถูกลบ ความคิดเห็นที่ถูกลบจะไม่มีช่องhtmlContent
หรือcontent
pageSize
: จำนวนความคิดเห็นสูงสุดที่จะแสดงต่อหน้าpageToken
: โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ list ก่อนหน้า ระบุโทเค็นนี้ เพื่อดึงข้อมูลหน้าถัดไปstartModifiedTime
: ค่าต่ำสุดของฟิลด์modifiedTime
สำหรับ ความคิดเห็นในผลการค้นหา
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
พารามิเตอร์การค้นหา includeDeleted
และฟิลด์หลายรายการ
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments?includeDeleted=true&fields=(id,comment,kind,modifiedTime,resolved)
อัปเดตความคิดเห็น
หากต้องการอัปเดตความคิดเห็นในไฟล์ ให้ใช้วิธีการ
update
ในแหล่งข้อมูล comments
โดยใช้พารามิเตอร์ fileId
และ commentId
เนื้อหาคำขอใช้ฟิลด์ content
เพื่ออัปเดตความคิดเห็น
ฟิลด์บูลีน resolved
ในทรัพยากร comments
เป็นแบบอ่านอย่างเดียว คุณจะแก้ไขความคิดเห็นได้โดย
โพสต์การตอบกลับความคิดเห็นเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่แก้ไข
ความคิดเห็น
เมธอดจะแสดงผลช่องที่ระบุไว้ในพารามิเตอร์การค้นหา fields
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
และ commentId
รวมถึงฟิลด์หลายรายการ
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment
เนื้อความของคำขอ
{ "content": "This comment is now updated." }
ลบความคิดเห็น
หากต้องการลบความคิดเห็นในไฟล์ ให้ใช้วิธีการ
delete
ในแหล่งข้อมูล comments
ที่มีพารามิเตอร์ fileId
และ commentId
เมื่อลบความคิดเห็น ไดรฟ์จะทำเครื่องหมายทรัพยากรความคิดเห็นเป็น
deleted: true
ความคิดเห็นที่ถูกลบจะไม่มีฟิลด์ htmlContent
หรือ content
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทาง fileId
และ commentId
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID