在MongoLabs文档中插入文档时,示例中给出了以下jQuery代码:http://docs.mlab.com/data-api/
$.ajax( { url: "https://api.mlab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey",
data: JSON.stringify( { "x" : 1 } ),
type: "POST",
contentType: "application/json" } );
我必须通过PHP为我的android应用程序调用RESTFULL API端点。。
如何在php中发出POST请求来调用MongoLABs数据APIS?
如何将上面的jquery代码转换为php代码?
我尝试了以下代码,但没有成功。有人能说出以下代码中的错误吗?或者告诉如何使用php?
<?php
$x=array(
'x' => 2
);
$data=json_encode($x);
echo $data;
$postdata = $data;
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://api.mlab.com/api/1/databases/mydb/collections/mycoll?apiKey=xxxxxxxxxxxxxxxxxxxxx', false, $context);
echo $result;
?>
出现错误:如果有人有同样的问题或想使用mLabs数据api。。使用以下内容:
$x=array(
'x' => '2'
);
$data=json_encode($x);
//echo $data;
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $data
)
);
$context = stream_context_create($opts);
$result = file_get_contents('https://api.mlab.com/api/1/databases/mydb/collections/mycoll?apiKey=xxxxxxxxxxx', false, $context);
echo $result;
但是尽量避免使用DATAapi,因为密钥很容易受到攻击,任何拥有密钥的人都可以访问整个数据库。。