2016-03-23 3 views
0

は、次のjQueryコードを例に与えられている文書を挿入します http://docs.mlab.com/data-api/MongoLabs(mongoDB)を呼び出す方法PHPでドキュメントを追加するためのAPIS RESTFULL MongoLabsマニュアルの

$.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経由RESTFULLのAPIエンドポイントを呼び出す必要があります。..

PHPでMongoLABsデータAPISを呼び出すPOSTリクエストを作成するにはどうすればよいですか?

上記のjqueryコードをPHPコードに変換するには?

私は以下のコードを試しましたが、運はありませんでした。誰かが次のコードの間違いを教えたり、PHPを使ってやる方法を教えてもらえますか?誰もが同じ問題を持っている場合 またはmLabsデータAPIを使用したい...次を使用します:

<?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; 
    ?> 
+0

ネイティブMongoDB PHPドライバの代わりにmLabのREST APIを使用している特別な理由は何ですか? https://docs.mongodb.org/ecosystem/drivers/php/&http://blog.mlab.com/2014/05/mongodb-driver-tips-tricks-php/ – pneumee

+0

はい..私たちは無料でサーバーのホスティング..そして、シェルのアクセスは無料のホスティングでは提供されていません。だからPHPではなくDATA APIをどうやって使うのですか? – Sharvil

答えて

0

は間違いを手に入れた

$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; 

しかし、キーなどのデータAPIを使用して回避しよう

関連する問題