"错误的API请求,无效或过期的api_user_key"

时间:2017-06-03 07:07:11

标签: javascript php api pastebin

所以我的网站向我网站上的PHP页面发出了一个AJAX请求。它首先登录并获取用户的Pastebin会话ID,然后使用它来查看该用户所做的所有粘贴。唯一的问题是我一直收到错误:API请求错误,api_user_key无效或过期。我认为我的会话ID部分是正确的(我甚至尝试使用http://pastebin.com/api/api_login.php生成一个

Javascript代码:

var logindata = {};
var sessionid;

$("#login").click(function() {
    $.each($('#loginform').serializeArray(), function(i, field) {
        logindata[field.name] = field.value;
    });

    $.get("pb_login.php?username=" + logindata['pastebinusername'] + "&password=" + logindata['pastebinpassword'], function(data, status) {
        alert(data);
        sessionid = data;

        $.get("pb_getlists.php?sessionid=" + sessionid, function(data, status) {
            alert(sessionid);
            alert(data);
        });
    });
});

pb_login.php

<?php
$api_dev_key = 'API key here';
$api_user_name = urlencode($_GET['username']);
$api_user_password = urlencode($_GET['password']);
$url = 'https://pastebin.com/api/api_login.php';

$ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_dev_key='.$api_dev_key.'&api_user_name='.$api_user_name.'&api_user_password='.$api_user_password.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_NOBODY, 0);

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

pb_getlists.php

<?php
$api_dev_key = 'API key here';
$api_user_key = $_GET['sessionid'];
//$api_user_key = '43ded5a66e8ed08603804fe2487c8ab7';
$api_results_limit = '250';
$url = 'https://pastebin.com/api/api_post.php';
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=list&api_user_key='.$api_user_key.'&api_dev_key='.$api_dev_key.'&api_results_limit='.$api_results_limit.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_NOBODY, 0);

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

提前致谢。 :)

编辑:我真的开始认为它是Pastebin API的一个问题。如果我搞砸了一些愚蠢的东西,我不会感到惊讶,但我不知道它可能是什么。

1 个答案:

答案 0 :(得分:1)

耶。我是个白痴。

我将错误的IP列入白名单(您需要将IP列入白名单以使用Pastebin API)。我正在使用LAMP VM进行测试,当我开始在我的实际网站上进行操作时忘了更改它。