By looking at GitHub Gist API, I understood that it is possible to create the Gist create for anonymous users without any API keys/authentication. Is it so?
I could not find answers to following questions:
- Are there any restrictions (number of gists) to be created etc?
- Is there any example that I can post the code from a form text input field to create a gist? I could not find any.
Thanks for any information about this.
Yes.
From Github API V3 Documentation:
For requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour. For unauthenticated requests, the rate limit allows you to make up to 60 requests per hour.
For creating a gist, you can send a POST
request as follows:
POST /gists
Here's an example I made:
<?php
if (isset($_POST['button']))
{
$code = $_POST['code'];
# Creating the array
$data = array(
'description' => 'description for your gist',
'public' => 1,
'files' => array(
'foo.php' => array('content' => 'sdsd'),
),
);
$data_string = json_encode($data);
# Sending the data using cURL
$url = 'https://api.github.com/gists';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
# Parsing the response
$decoded = json_decode($response, TRUE);
$gistlink = $decoded['html_url'];
echo $gistlink;
}
?>
<form action="" method="post">
Code:
<textarea name="code" cols="25" rows="10"/> </textarea>
<input type="submit" name="button"/>
</form>
Refer to the documentation for more information.
来源:https://stackoverflow.com/questions/18667303/how-to-create-a-github-gist-with-api