我正试着在Javascript中通过弹出窗口发布一个新的Pastebin。我得到的问题是它说“错误的API请求,无效的api_option”
我正在使用的链接:http://pastebin.com/api/api_post.php?api_dev_key=<KEY>&api_paste_name=TITLE&api_option=paste&api_paste_code=SOMETEXT
上面说把api_option当做浆糊。我已经尝试过查找其他示例,但还没有成功。每个人都遇到这个问题了吗?
发布于 2011-09-27 04:30:10
你是否碰巧需要发布数据而不是GETting?
此外,这可能不是最好的主意,把你的API密钥放在互联网上,像这样。
发布于 2011-09-27 04:30:27
您如何向Pastebin提交此请求?是通过POST还是通过GET?我最好的猜测是,您正在发送一个GET请求,而该应用程序接口需要一个POST。
发布于 2019-06-21 15:39:26
试试这个:
let api = {
option: "paste",
user_key: "XXXXXXXXXXXX",
dev_key: 'XXXXXXXXXXXX',
paste_name: "MyTitle",
paste_format: "JSON",
paste_private: 0,
paste_code: ""
};
let request = new XMLHttpRequest();
request.open('POST', 'http://pastebin.com/api/api_post.php', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
data['test'] = 'Yeah PasteBin!';
dataString = 'api_option='+api.option+'&api_user_key='+api.user_key+'&api_dev_key='+api.dev_key+
'&api_paste_name='+api.paste_name+'&api_paste_format='+api.paste_format+
'&api_paste_private='+api.paste_private+'&api_paste_code='+data;
request.onreadystatechange = function() {
if (request.status == 200 && request.readyState == 4) {
alert("URL to new pastebin file: " + request.responseText);
}
}
request.send(dataString);代码的主要问题是将所有内容都放在请求URL中,如果是GET请求就可以了。PasteBin: api/api_post.php的URL需要一个POST请求(注意这个名称?),所以您必须像上面那样在主体中发送它。
https://stackoverflow.com/questions/7560889
复制相似问题