Get Paginated Posts
Fetch a list of posts with support for pagination.
query GetPosts {
posts(
after: "id_to_start_after",
first: 20,
input: {organizationId: "some_organization_id", filter: {status: [sent], channelIds: ["some_channel_id"]}}
) {
pageInfo {
startCursor
endCursor
hasNextPage
}
edges {
node {
id
text
createdAt
channelId
}
}
}
}
curl -X POST 'https://api.buffer.com' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"query": "query GetPosts {\n posts(\n after: \"id_to_start_after\",\n first: 20,\n input: {organizationId: \"some_organization_id\", filter: {status: [sent], channelIds: [\"some_channel_id\"]}}\n ) {\n pageInfo {\n startCursor\n endCursor\n hasNextPage\n }\n edges {\n node {\n id\n text\n createdAt\n channelId\n }\n }\n }\n}"}'
const response = await fetch('https://api.buffer.com', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY',
},
body: JSON.stringify({
query: `
query GetPosts {
posts(
after: "id_to_start_after",
first: 20,
input: {organizationId: "some_organization_id", filter: {status: [sent], channelIds: ["some_channel_id"]}}
) {
pageInfo {
startCursor
endCursor
hasNextPage
}
edges {
node {
id
text
createdAt
channelId
}
}
}
}
`,
}),
});
const data = await response.json();
console.log(data);
<?php
$query = '
query GetPosts {
posts(
after: "id_to_start_after",
first: 20,
input: {organizationId: "some_organization_id", filter: {status: [sent], channelIds: ["some_channel_id"]}}
) {
pageInfo {
startCursor
endCursor
hasNextPage
}
edges {
node {
id
text
createdAt
channelId
}
}
}
}
';
$payload = [
'query' => $query,
];
$ch = curl_init('https://api.buffer.com');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);