Hướng dẫn từng bước để kết nối thông tin xác thực X (Twitter) API của bạn với Ayrshare
Vào ngày 31 tháng 3 năm 2026, X đã thay đổi cách các nền tảng bên thứ ba truy cập API của mình. Do đó, mọi tài khoản Ayrshare đăng bài lên X thông qua Ayrshare đều phải đăng ký X Developer App của riêng mình và sử dụng API Key cùng API Secret của app đó trên mọi request.Đây là thay đổi trên toàn nền tảng bắt buộc bởi X và ảnh hưởng đến tất cả các công cụ bên thứ ba.
BYO keys được thiết lập một lần cho mỗi nền tảng (áp dụng cho toàn bộ tài khoản), không phải cho từng khách hàng hoặc sub-profile. Bạn tạo một X Developer App dưới tài khoản X của mình, và cùng một API Key + API Secret sẽ được áp dụng cho toàn bộ tài khoản X — chúng được sử dụng cho mọi sub-profile / end-user liên kết X dưới tài khoản Ayrshare của bạn. Nếu bạn có gói Business hoặc Enterprise với hàng trăm sub-profile, bạn không cần lặp lại thiết lập này cho từng cái. Bạn thiết lập một lần cho nền tảng X, sau đó truyền cùng hai header trong mỗi request.
Chúng tôi đã đơn giản hoá quy trình thiết lập để bạn thực hiện dễ dàng nhất có thể, và việc này chỉ mất chưa đến 10 phút. Làm theo hướng dẫn từng bước dưới đây, và nếu bạn cần trợ giúp, đội ngũ của chúng tôi luôn sẵn sàng hỗ trợ.
Bạn chỉ tạo một X Developer App cho mỗi tài khoản Ayrshare. Cùng một app với API Key + API Secret sẽ được tái sử dụng cho mọi sub-profile / end-user mà sau này bạn liên kết dưới tài khoản Ayrshare của mình. Bạn không tạo app mới cho từng khách hàng.
1
Điều hướng đến Apps
Trong Developer Console, điều hướng đến Apps.
2
Tạo app
Trong App dashboard, nhấp Create App (xem tài liệu thiết lập App của X để biết chi tiết). Nhập tên app (thường là tên thương hiệu của bạn). Tên này sẽ xuất hiện trên màn hình uỷ quyền OAuth khi người dùng kết nối tài khoản X của họ.
3
Chọn môi trường
Chọn môi trường Production trong menu thả xuống.
4
Đóng cửa sổ pop-up credentials ban đầu
X sẽ tạo một số credential. Bỏ qua các credential này và đóng cửa sổ này lại.
Trong “Apps,” tìm app mới (làm mới trang nếu app không xuất hiện), sau đó nhấp vào nó để xem chi tiết.Trong User authentication settings, nhấp Set up.
2
Thiết lập quyền cho app
Trong App permissions, chọn Read and write and Direct message. Điều này bắt buộc để hỗ trợ đầy đủ tính năng, bao gồm cả đăng bài và DM.
3
Thiết lập loại app
Trong Type of App, chọn Web App, Automated App or Bot. Đây là lựa chọn đúng cho các tích hợp phía server như Ayrshare.
4
Thiết lập callback và website URL
Trong App info:
Callback URL: Thêm cả hai callback URL sau:
https://profile.ayrshare.com/social-accounts
https://app.ayrshare.com/social-accounts
Website URL:https://app.ayrshare.com
Đừng bỏ qua bước này. Các callback URL này bắt buộc cho luồng liên kết OAuth. Khi người dùng cuối uỷ quyền kết nối X, X sẽ chuyển hướng họ về một trong các URL này để hoàn tất quy trình liên kết. Nếu thiếu, luồng OAuth sẽ thất bại với lỗi 403 Callback URL not approved.
5
Lưu cài đặt
Nhấp Save. Bạn có thể bỏ qua cửa sổ pop-up OAuth 2.0, vì bạn chỉ sử dụng 2 khoá của OAuth 1.0 (API Key và API Secret).
Quan trọng: Thiết lập quyền trước khi liên kết. Các quyền bạn chọn ở đây quyết định app của bạn có thể làm gì. Nếu bạn thay đổi quyền sau khi đã liên kết tài khoản X qua OAuth, bạn sẽ cần liên kết lại để Access Token mới kế thừa quyền đã cập nhật.
Hãy đảm bảo bạn lưu lại 2 khoá này:
API Key (còn gọi là Consumer Key, định danh của X app)
API Secret (còn gọi là Consumer Secret)
Bạn KHÔNG cần tạo Access Token thủ công. Ayrshare xử lý việc này tự động khi bạn liên kết tài khoản X qua OAuth.
X hiện dùng hệ thống thanh toán API dựa trên credit, được mua thông qua developer console.
1
Điều hướng đến billing
Trong Developer Console, nhấp Billing → Credits ở thanh bên trái.
2
Mua credits
Mua credits (mức tối thiểu là $5, đủ cho hàng trăm lệnh API). Mỗi lệnh gọi API chỉ tốn một phần nhỏ của một cent, vì vậy chi phí sẽ tối thiểu đối với hầu hết người dùng.
3
Bật tự động nạp lại
Bạn có thể bật auto-recharge để tránh gián đoạn dịch vụ và quản lý giới hạn chi tiêu bằng cách đặt mức tối đa bạn có thể chi trong chu kỳ thanh toán.
Các lệnh gọi API của bạn sẽ thất bại nếu không có credits. API của X là pay-per-use. Nếu số dư credit của bạn bằng 0, mọi request API sẽ trả về lỗi 402 CreditsDepleted với thông báo “Your enrolled account does not have any credits to fulfill this request.” Điều này bao gồm cả đăng bài, đọc tweet và tra cứu người dùng. Hãy nạp credits trước khi kiểm thử tích hợp của bạn. Xem Cách định giá X API hoạt động để biết cập nhật đầy đủ về giá của X.
Nếu quyền của app bị cấu hình sai, request API có thể trả về lỗi 403 Forbidden với thông báo: “Your client app is not configured with the appropriate OAuth1 app permissions.”
Nếu bạn thấy lỗi này, hãy cập nhật quyền của app thành Read and write and Direct message trong X Developer Console, sau đó liên kết lại tài khoản X qua OAuth để Access Token mới kế thừa quyền đã cập nhật.
Chuyển đổi các profile hiện có (Business & Enterprise)
Nếu bạn có sub-profile đã được liên kết với X thông qua Ayrshare, các profile đó cần liên kết lại tài khoản X sau khi bạn chuyển sang BYO keys. Điều này là vì access token hiện có đã được cấp dưới X app của Ayrshare và không thể sử dụng với consumer key của bạn (chữ ký OAuth 1.0a bị ràng buộc với app cấp token).
1
Đưa các khoá của bạn vào generateJWT
Thêm twitterApiKey và twitterApiSecret vào body lệnh gọi generateJWT. Chúng được mã hoá trước khi được nhúng vào JWT và không bị lộ cho end-user.
Đây là request duy nhất mà consumer key của bạn được đặt trong body. Tất cả các request X khác sử dụng các header đã mô tả ở trên.
2
Yêu cầu người dùng liên kết lại X
Sau khi tạo JWT với các khoá được đưa vào, người dùng của bạn cần kết nối lại tài khoản X thông qua trang liên kết profile. Màn hình chấp thuận OAuth giờ sẽ hiển thị tên app của bạn thay vì của Ayrshare.Để làm mọi việc đơn giản hơn, bạn có thể:
Huỷ liên kết tài khoản theo cách lập trình qua Unlink API, sau đó yêu cầu người dùng uỷ quyền lại
Sử dụng logout parameter trong generateJWT để buộc đăng nhập mới
Sử dụng allowedSocial để chỉ hiển thị X trên trang liên kết trong luồng chuyển đổi
3
Tiếp tục gửi header trên tất cả các lệnh gọi API
Sau khi liên kết lại, tiếp tục đưa các header X-Twitter-OAuth1-Api-Key và X-Twitter-OAuth1-Api-Secret vào mọi lệnh gọi API (đăng bài, analytics, comments, v.v.).
Sau khi một profile đã liên kết lại dưới X app của bạn, tất cả các bài đăng tiếp theo cho profile đó sẽ sử dụng thông tin xác thực của bạn. Bạn có thể xác minh điều này bằng cách kiểm tra trang Usage trong X Developer Console của bạn.
Thực hiện một lệnh gọi thử qua Ayrshare API với các header mới để xác nhận mọi thứ đang hoạt động. Endpoint /analytics/social là một bài kiểm tra nhẹ tốt, vì nó không tạo bài đăng nào.
Trước đây, Ayrshare chi trả cho việc sử dụng API của X thay bạn. Theo mô hình hiện tại của X, mỗi khách hàng Ayrshare duy trì tài khoản X Developer của riêng mình và trả tiền trực tiếp cho X cho các request API mà ứng dụng của họ thực hiện. (Một tài khoản X Developer trên mỗi tài khoản Ayrshare, không phải trên mỗi end-user. Tất cả sub-profile của bạn dùng chung một tài khoản X Developer và số dư credit.)Mô hình định giá của X là pay-per-use: bạn mua credit trong X Developer Console, và chúng bị trừ khi các request API được thực hiện. Không cần hợp đồng hay đăng ký gói.Các tác vụ điển hình có chi phí thấp. Ví dụ:
Tác vụ
Chi phí xấp xỉ
Tạo bài đăng (chỉ văn bản)
~$0.01 mỗi bài
Tạo bài đăng có media
~$0.02 mỗi bài (upload media và tạo bài đăng là các request riêng biệt)
Đọc một bài đăng
~$0.005 mỗi lượt đọc
Tra cứu người dùng
~$0.01 mỗi lượt tra cứu
Gửi DM
~$0.01 mỗi tin nhắn
Đọc sự kiện DM
~$0.01 mỗi sự kiện
Tương tác người dùng (follow, like, v.v.)
~$0.015 mỗi request
Để tham khảo, nếu bạn đăng khoảng 100 lần mỗi tháng, chi phí trực tiếp cho X sẽ vào khoảng $1, và các bài đăng có media sẽ khoảng $2 mỗi tháng.
Định giá pay-per-use của X hiện đang trong giai đoạn thử nghiệm. Tỷ giá có thể thay đổi và có thể có chi phí bổ sung. Luôn kiểm tra Developer Console để biết định giá mới nhất. Xem phân tích thông tin định giá của X.
Chúng tôi biết điều này giới thiệu một khoản chi phí chưa từng tồn tại trước đây, và chúng tôi muốn minh bạch về điều đó. Đồng thời, mô hình này cũng mở ra một số lợi ích không thể có trong thiết lập chia sẻ khoá trước đây.
Việc sử dụng thông tin xác thực X API của riêng bạn cung cấp khả năng kiểm soát và độ tin cậy tốt hơn so với mô hình chia sẻ khoá trước đây. Bao gồm:
Trải nghiệm OAuth có thương hiệu: Người dùng thấy tên app và thương hiệu của bạn khi uỷ quyền truy cập X.
Giới hạn tốc độ riêng: Việc sử dụng API của bạn được điều chỉnh bởi giới hạn của tài khoản X Developer của riêng bạn, tách biệt khỏi các người dùng Ayrshare khác. Bạn có thể theo dõi sử dụng của mình trong X Developer Console và xem tài liệu về giới hạn tốc độ API của X.
Kiểm soát thông tin xác thực: API Key và Secret của bạn nằm trong tài khoản X Developer của riêng bạn. Ayrshare không lưu trữ khoá bí mật của bạn.
Tính di động: Vì người dùng xác thực với X App của bạn, tích hợp của bạn vẫn hoàn toàn nằm dưới sự kiểm soát của bạn.
Khả năng hiển thị sử dụng: Dashboard X Developer của bạn hiển thị các request API, giới hạn tốc độ và mức sử dụng credit.
X là nền tảng đầu tiên yêu cầu mô hình này, nhưng ngày càng nhiều nền tảng đang hướng tới “bring your own API key.” Chúng tôi đang mở rộng khả năng này trên toàn Ayrshare, để các developer có cùng khả năng kiểm soát và độc lập trên tất cả các nền tảng mạng xã hội.
Tôi có cần thiết lập điều này cho mỗi khách hàng / sub-profile không?
Không. Bạn thiết lập một X Developer App dưới tài khoản X của mình, và cùng một API Key + API Secret được tái sử dụng cho mọi sub-profile / end-user bạn liên kết dưới tài khoản Ayrshare của mình.
Bạn tạo X Developer App một lần.
Bạn truyền cùng hai header (X-Twitter-OAuth1-Api-Key và X-Twitter-OAuth1-Api-Secret) trong mỗi lệnh gọi API Ayrshare, bất kể lệnh gọi đó dành cho sub-profile nào.
Các end-user của bạn vẫn phải trải qua luồng liên kết OAuth để uỷ quyền tài khoản X của họ, nhưng họ không cần X Developer App hay API key của riêng họ. Họ kết nối thông qua app của bạn.
Tất cả sub-profile chia sẻ cùng một tài khoản X Developer, cùng giới hạn tốc độ và cùng số dư credit.
Lần duy nhất bạn xử lý khoá cho từng profile là trong body generateJWT trong quá trình chuyển đổi, và đó vẫn là cùng hai khoá của bạn, chỉ được gửi đến trang liên kết để end-user có thể uỷ quyền lại dưới app của bạn.
Yêu cầu về X API key đã có hiệu lực chưa?
Có. Từ ngày 31 tháng 3 năm 2026, tất cả các hoạt động X thông qua Ayrshare đều yêu cầu thông tin xác thực X API của riêng bạn. Nếu bạn chưa thiết lập tài khoản X Developer, hãy làm theo các bước trên.
Điều gì xảy ra nếu tôi không thêm X API key vào Ayrshare?
Việc đăng bài lên X thông qua Ayrshare yêu cầu thông tin xác thực X API của riêng bạn. Các request không có thông tin BYO hợp lệ sẽ bị từ chối. Việc đăng bài lên các nền tảng khác (Instagram, LinkedIn, Facebook, TikTok, v.v.) không bị ảnh hưởng.
X API có giá bao nhiêu?
X tính phí cho mỗi lệnh gọi API. Tạo một bài đăng tốn khoảng $0.01, và đọc một bài đăng tốn khoảng $0.005. Ví dụ, xuất bản 100 bài đăng mỗi tháng sẽ tốn khoảng $1. Xem trang định giá của X để biết chi tiết đầy đủ.
Điều này có thay đổi giá gói đăng ký Ayrshare của tôi không?
Không. Giá gói đăng ký Ayrshare của bạn không đổi. Chi phí bổ sung duy nhất là phí sử dụng X API được X tính trực tiếp qua tài khoản developer của bạn.
Ayrshare có lưu trữ thông tin xác thực X API của tôi không?
Không. API Key và API Secret của bạn không được Ayrshare lưu trữ. Đối với các thực hành bảo mật chung, xem hướng dẫn bảo mật xác thực của X.
Tôi đã có tài khoản X Developer. Tôi có thể dùng khoá hiện có không?
Có. Bạn có thể sử dụng X App hiện có miễn là nó đã bật quyền “Read and write” (và Direct Messages nếu bạn sử dụng tính năng DM).Bạn sẽ cần API Key (Consumer Key) và API Secret (Consumer Secret) từ phần Keys and tokens của X Developer Console. Liên kết tài khoản X qua OAuth, sau đó đưa 2 header này vào các request API Ayrshare.Nếu bạn đã thay đổi quyền của app kể từ lúc thiết lập ban đầu, hãy liên kết lại tài khoản X để Access Token kế thừa quyền đã cập nhật.
X Developer Portal hiển thị nhiều thông tin xác thực. Tôi thực sự cần cái nào?
Bạn cần API Key (Consumer Key) và API Secret (Consumer Secret). Xem bảng tham chiếu header ở trên để biết chính xác mỗi cái ánh xạ đến header nào của Ayrshare. Bạn có thể bỏ qua Client ID, Client Secret, Bearer Token, Access Token và Access Token Secret.
Sự khác biệt giữa 'API Key' và 'Client ID' là gì?
Chúng là các thông tin xác thực hoàn toàn khác nhau cho các phương thức xác thực khác nhau:
API Key (còn gọi là “Consumer Key”) dành cho OAuth 1.0a. API Key (Consumer Key) + API Secret là những gì Ayrshare sử dụng. Nó hoạt động với tất cả tính năng của X, token không hết hạn và không cần logic refresh.
Client ID dành cho OAuth 2.0. Bạn KHÔNG cần cái này cho Ayrshare. Token OAuth 2.0 hết hạn sau một thời gian ngắn và yêu cầu quản lý refresh token.
Đối với Ayrshare, bạn chỉ cần API Key và API Secret. Bạn có thể bỏ qua Client ID, Client Secret và Bearer Token.
Tại sao là OAuth 1.0a mà không phải OAuth 2.0?
Access token OAuth 2.0 hết hạn sau mỗi 2 giờ và refresh token của X chỉ dùng được một lần (mỗi lần refresh vô hiệu hoá token cũ). Điều này khiến không thể hỗ trợ mô hình BYO stateless, đặc biệt là cho các bài đăng đã lên lịch. Token OAuth 1.0a không hết hạn, hoạt động với tất cả tính năng của X và không cần quản lý token.
Người dùng hiện có của tôi có cần liên kết lại tài khoản X không?
Có. Nếu người dùng của bạn đã liên kết X qua Ayrshare trước khi bạn thiết lập BYO keys, họ sẽ cần kết nối lại. Access token hiện có đã được cấp dưới X app của Ayrshare và sẽ không hoạt động với consumer key của bạn. Xem Chuyển đổi các profile hiện có ở trên để biết quy trình từng bước.
Thay đổi này có ảnh hưởng đến việc đăng bài lên Instagram, LinkedIn hoặc các nền tảng khác không?
Không. Thay đổi này chỉ ảnh hưởng đến việc đăng bài lên X. Tất cả các tích hợp nền tảng khác trong Ayrshare tiếp tục hoạt động như thường lệ.
Còn tự động đăng RSS/Feed lên X thì sao?
Không còn hỗ trợ tự động đăng RSS lên X. Nguồn cấp RSS chạy tự động theo lịch, nhưng mô hình bring-your-own API key yêu cầu thông tin xác thực phải được cung cấp với mỗi request API. Vì vậy, các nguồn cấp RSS không thể xác thực khi bài đăng được gửi.Nếu bạn trước đây đã dùng RSS để đăng lên X, chúng tôi khuyến nghị chuyển sang bài đăng đã lên lịch hoặc các lệnh gọi API trực tiếp có bao gồm thông tin xác thực của bạn. Tự động đăng RSS lên tất cả các nền tảng khác không thay đổi.
Tại sao tôi nhận được lỗi 402 "CreditsDepleted"?
Điều này có nghĩa là tài khoản X Developer của bạn không còn credit API nào. Đi tới console.x.com → Billing → Credits và mua credit. Ngay cả $5 cũng đủ cho hàng trăm lệnh gọi API. Khi credit đã được nạp, hãy thử lại request của bạn.
Tại sao tôi nhận được lỗi 403 "Forbidden: OAuth1 App Permissions"?
Access Token của bạn không có quyền phù hợp. Điều này thường có nghĩa là một trong hai điều:
Quyền của app được thiết lập là “Read” thay vì “Read and write.” Đi tới Settings của app trong Developer Console và đổi thành Read and write and Direct message.
Bạn đã thay đổi quyền sau khi liên kết tài khoản X. Access Token giữ quyền tại thời điểm được tạo. Liên kết lại tài khoản X qua OAuth để token mới kế thừa quyền đã cập nhật.
Nếu tôi cần trợ giúp thiết lập thì sao?
Đội ngũ hỗ trợ của chúng tôi rất sẵn lòng giúp đỡ. Nếu bạn có câu hỏi hoặc gặp vấn đề trong quá trình thiết lập, vui lòng liên hệ qua support@ayrshare.com, và chúng tôi sẽ hướng dẫn bạn qua từng bước.
Hãy chắc chắn bạn đang gửi cả hai header bắt buộc:
X-Twitter-OAuth1-Api-Key
X-Twitter-OAuth1-Api-Secret
Nếu bạn thấy lỗi thiếu cặp (ví dụ: “You provided Api-Key but not Api-Secret”), điều đó có nghĩa là một trong hai bị thiếu. Cả hai luôn bắt buộc.Thông báo lỗi sẽ cho bạn biết header cụ thể nào bị thiếu.
Nếu bạn thấy lỗi này khi cố gắng liên kết tài khoản X, hãy chắc chắn bạn đã thêm các callback URL bắt buộc vào cài đặt X Developer App của bạn (trong Authentication settings > Callback URI / Redirect URL):
Tài khoản X Developer của bạn không có credit API nào được nạp. Đi tới console.x.com → Billing → Credits và mua credit. Ngay cả $5 cũng đủ cho hàng trăm lệnh gọi API.
Access Token của bạn không có quyền phù hợp. Điều này thường có nghĩa là:
Quyền của app được thiết lập là “Read” thay vì “Read and write.” Đi tới Settings của app trong Developer Console và đổi thành Read and write and Direct message.
Bạn đã thay đổi quyền sau khi liên kết tài khoản X. Access Token giữ quyền tại thời điểm được tạo. Liên kết lại tài khoản X qua OAuth để token mới kế thừa quyền đã cập nhật.
Nếu bạn có câu hỏi hoặc gặp vấn đề khi thiết lập X API key, đội ngũ kỹ thuật của chúng tôi rất sẵn lòng giúp đỡ. Bạn có thể liên hệ với chúng tôi bất cứ lúc nào tại support@ayrshare.com.