HTTP Client
Kết nối và tương tác với các dịch vụ bên ngoài thông qua API của chúng.

Click to watch tutorial video - 03:08
Schema GraphQL được cung cấp các trường toàn cục để thực thi các yêu cầu HTTP đến máy chủ web và lấy phản hồi của chúng.
Nó hỗ trợ kết nối đến REST API, GraphQL API và các API tổng quát, đồng thời truy xuất và giải mã mọi loại dữ liệu (bao gồm HTML, XML và CSV).
REST API: queries này kết nối đến WP REST API từ một trang web bên ngoài để lấy các bài viết của nó:
query {
postData: _sendJSONObjectItemHTTPRequest(input: {
url: "https://some-wp-rest-api.com/wp-json/wp/v2/posts/1/"
})
}...tạo ra phản hồi sau:
{
"data": {
"postData": {
"id": 1,
"date": "2019-08-02T07:53:57",
"date_gmt": "2019-08-02T07:53:57",
"guid": {
"rendered": "https:\/\/newapi.getpop.org\/?p=1"
},
"modified": "2021-01-14T13:18:39",
"modified_gmt": "2021-01-14T13:18:39",
"slug": "hello-world",
"status": "publish",
"type": "post",
"link": "https:\/\/newapi.getpop.org\/uncategorized\/hello-world\/",
"title": {
"rendered": "Hello world!"
},
"content": {
"rendered": "\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n\n\n\n<p>I’m demonstrating a Youtube video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Introduction to the Component-based API by Leonardo Losoviz | JSConf.Asia 2019\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/9pT-q0SSYow?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><figcaption>This is my presentation in JSConf Asia 2019<\/figcaption><\/figure>\n",
"protected": false
},
"excerpt": {
"rendered": "<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing! I’m demonstrating a Youtube video:<\/p>\n",
"protected": false
},
"author": 1,
"featured_media": 0,
"comment_status": "closed",
"ping_status": "open",
"sticky": false,
"template": "",
"format": "standard",
"meta": [],
"categories": [
1
],
"tags": [
193,
173
]
}
}
}GraphQL API: Queries này kết nối đến GraphQL API của GitHub để lấy danh sách các repository:
query FetchGitHubRepositories(
$login: String!
$githubAccessToken: String!
) {
_sendGraphQLHTTPRequest(input:{
endpoint: "https://api.github.com/graphql",
query: """
query GetRepositoriesByOwner($login: String!) {
repositoryOwner(login: $login) {
repositories(first: 100) {
nodes {
id
name
description
}
}
}
}
""",
variables: [
{
name: "login",
value: $login
}
],
options: {
auth: {
password: $githubAccessToken
}
}
})
}API tổng quát: Queries này kết nối đến một RSS feed WordPress và giải mã XML thành đối tượng JSON:
query {
_sendHTTPRequest(input: {
url: "https://wordpress.com/blog/2024/07/16/wordpress-6-6/feed/rss/?withoutcomments=1"
}) {
body
rssJSON: _strDecodeXMLAsJSON(
xml: $__body
)
}
}