API:Edit/vi

From MediaWiki.org
Jump to navigation Jump to search
Ngôn ngữ khác: English  • Deutsch • español • français • 日本語 • русский • Tiếng Việt • 中文
MediaWiki phiên bản: 1.13

Thẻ[edit]

Để sửa đổi một trang, cần phải có một thẻ sửa đổi. Thẻ này giống nhau cho tất cả các trang nhưng lại thay đổi mỗi lượt đăng nhập. Nếu bạn muốn (và nên) tránh xung đột sửa đổi, bạn cần phải lấy nhãn thời điểm của phiên bản cuối. Bạn có thể làm như sau: Lấy thẻ sửa đổi

Sửa đổi[edit]

Có thể sửa đổi hay tạo mới trang với lệnh action=edit.

Tham số[edit]

  • title: Trang cần sửa
  • section: Phần cần sửa - 0 cho phần trên cùng, "new" cho phần mới
  • text: Nội dung mới cho trang hay phần đó
  • token: Thẻ sửa đổi
  • summary: Tóm lược sửa đổi
    • Khi dùng section=new, tham số này được dùng như tiêu đề của phần mới
  • minor: Nếu được đặt, đánh dấu sửa đổi là nhỏ
  • notminor: Nếu được đặt, không đánh dấu sửa đổi là nhỏ, kể cả nếu bạn bật tuỳ chọn "Đánh dấu mặc định sửa đổi của tôi là thay đổi nhỏ"
  • bot: Nếu được đặt, đánh dấu sửa đổi là bot
  • basetimestamp: Nhãn thời điểm của phiên bản cuối, được dùng để phát hiện xung đột sửa đổi. Không sử dụng để bỏ qua xung đột
  • recreate: Nếu được đặt, lờ đi lỗi do trang bị xoá trong thời gian sửa đổi và tạo lại nó
  • createonly: Nếu được đặt, ném ra một lỗi nếu trang đã được tạo
  • nocreate: Nếu được đặt, ném ra một lỗi nếu trang chưa được tạo
  • watch: Thêm trang vào danh sách theo dõi
  • unwatch: Bỏ trang khỏi danh sách theo dõi hay không thêm nó vào kể cả khi bạn đã bật những tuỳ chọn như "Tự động theo dõi trang tôi sửa"
  • md5: Mã băm MD5 của tham số text. Nếu tham số này được đặt và lại không khớp mã băm được tạo ra, sự sửa đổi bị huỷ. Sử dụng để tránh sự sai lệch dữ liệu.
  • captchaid: Mã CAPTCHA từ yêu cầu trước
  • captchaword: Trả lời cho CAPTCHA

Ví dụ[edit]

Lưu ý: Trong ví dụ này, tất cả tham số được truyền theo dạng GET cho đơn giản. Tuy nhiên, lệnh action=edit đòi hỏi yêu cầu dạng POST; yêu cầu GET sẽ bị lỗi. Đừng quên đặt tiêu đề Content-Type của yêu cầu là application/x-www-form-urlencoded. Thẻ sửa đổi mà bạn nhận được kết thúc bởi +\, nên cần phải là được mã hoá url (nhờ đó kết thúc với %2B%5C) trước khi được truyền trở lại. Thêm phần mới vào trang vi:Thảo luận:Trang chính

CAPTCHA và lỗi phần mở rộng[edit]

Nếu cần đến CAPTCHA, bạn sẽ nhận được tương tự như:

<?xml version="1.0" encoding="utf-8"?>
<api>
  <edit result="Failure">
    <captcha type="math" mime="text/tex" id="509895952" question="36 + 4 = " />
  </edit>
</api>

Trong phần lớn trường hợp, bạn sẽ không nhận được CAPTCHA toán học, mà là URL đến một tệp ảnh (trong trường url). Khi bạn đã giải được CAPTCHA, gửi lại yêu cầu (trong trường hợp này là captchaid=509895952&captchaword=40).

Những phần mở rộng sử dụng hook APIEditBeforeSave có thể trả về lỗi với định dạng như trên hay định dạng thường dùng.

Lỗi có thể gặp[edit]

Bên cạnh những vấn đề thường gặp:

  • mã: notitle
    • vấn đề: Tham số title cần được đặt
  • mã: notext
    • vấn đề: Tham số text cần được đặt
  • mã: notoken
    • vấn đề: Tham số token cần được đặt
  • mã: invalidsection
    • vấn đề: Tham số section cần được đặt là một số nguyên hoặc 'new'
  • mã: protectedtitle
    • vấn đề: Tiêu đề này đã được bảo vệ chống tạo mới
  • mã: cantcreate
    • vấn đề: Bạn không có quyền tạo trang mới
  • mã: cantcreate-anon
    • vấn đề: Người dùng vô danh không có quyền tạo trang mới
  • mã: articleexists
    • vấn đề: Bài viết bạn dự định tạo đã tồn tại
  • mã: noimageredirect-anon
    • vấn đề: Người dùng vô danh không có quyền tạo đổi hướng hình ảnh
  • mã: noimageredirect
    • vấn đề: Bạn không có quyền tạo đổi hướng hình ảnh
  • mã: spamdetected
    • vấn đề: Sửa đổi của bạn bị từ chối vì chứa nội dung rác: ``wikitext''
  • mã: filtered
    • vấn đề: Bộ lọc từ chối sửa đổi của bạn
  • mã: contenttoobig
    • vấn đề: Nội dung bạn gửi lên vượt quá giới hạn độ dài
  • mã: noedit-anon
    • vấn đề: Người dùng vô danh không có quyền sửa đổi
  • mã: noedit
    • vấn đề: Bạn không có quyền sửa đổi trang
  • mã: pagedeleted
    • vấn đề: Trang đã bị xoá sau khi bạn lấy nhãn thời điểm
  • mã: emptypage
    • vấn đề: Không được phép tạo trang mới rỗng
  • mã: emptynewsection
    • vấn đề: Không được phép tạo phần mới rỗng
  • mã: editconflict
    • vấn đề: Sửa đổi có xung đột