开发者

PasteBin API bug? not allowing simple post

I'm trying to make a php api request to simply make a simple paste to pastebin and i found an example at http://pastebin.com/api and it's pretty strait forward so i didnt think there would be any troubles. But the example doesn't seem to be working. I keep getting the response

Bad API request, invalid api_option

But you can clearly see it sets up api_option=paste in the string it creates...

and in the documentation it says

Creating A New Paste, [Required Parameters]
Include all the following POST parameters when you request the URL:

1. api_dev_key - which is your unique API Developers Key.
2. api_option - set as 'paste', this will indicate you want to create a new paste.
3. api_paste_code - this is the text that will be written inside your paste.

Leaving any of these parameters out will result in an error.

So....i figured it looks right, besides its the example they provided.

Anyone have any ideas what is going on here?

<?php 


$api_dev_key            = '1234'; // your api_developer_key
$api_paste_code         = 'some random text to test'; // your paste text
$api_paste_private      = '0'; // 0=public 1=private
$api_paste_name         = 'savelogtest'; // name or title of your paste
$api_paste_expire_date  = '10M';
$api_paste_format       = 'php';
$api_user_key           = ''; // if invalid key or no key is used, the paste will be create as a guest
$api_paste_name         = urlencode($api_paste_name);
$api_paste_code         = urlencode($api_paste_code);


$url                = 'http://pastebin.com/api/api_post.php';
$ch                 = curl_init($url);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=paste&api_user_key='.$api_user_key.'&api_paste_private='.$api_paste_private.'&api_paste_name='.$api_paste_name.'&api_paste_expire_date='.$api_paste_expire_date.'&api_paste_format='.$api_paste_format.'&api_dev_key='.$api_dev_key.'&api_paste_code='.$api_paste_code.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_NOBODY开发者_如何学运维, 0);

$response           = curl_exec($ch);
echo $response;


?>


The API example works fine. I just ran your code (of course changed the $api_dev_key, and it worked first time. Output: http://pastebin.com/eyn9tWNS

Try and add this at the top of your script:

    error_reporting(E_ALL);
    ini_set("display_errors", "on");

It should give you some better error report of what is going on.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜