0

この問題について助けが必要です。何日も私は今試みてきました。

フィードを取得して解析することは実際には問題ではありませんが、xmlから離れた形式でデータをアップロードすることは問題ですか?

以下のコードは部分的にグーグルドキュメントのサンプルコードからのものですが、明らかに機能していません。

私にはわからないので、他の誰かがグーグルAPIの仕組みにもっと興味を持っていることを願っています。現在、アルバムの写真にタグを追加しようとしています。それがうまくいけば、私はおそらく残りも行うことができます。

public function postTag() { 
    $query='smarty'; 
    $this->updateOptie('tag', $query); 
    $feedUrl = $this->creeerFeedUrl('myalbum', false); 
    $picasa = $this->parseFeed( $feedUrl ); 
    $gphoto = $picasa['gphoto'][0];    
    $gphotoid = $gphoto['id']; 

    //return $gphotoid; 
    ////////////////////sofar no problem//////////////////  



     $tag = "mytag"; 
       $data = "<entry xmlns='http://www.w3.org/2005/Atom'>
    <title>$tag</title>
    <category scheme=\"http://schemas.google.com/g/2005#kind\" term=\"http://schemas.google.com/photos/2007#tag\"/> 
</entry>";    
    $albumid = 'myalbum'; 
    $itemsFeedURL = $this->krijgPicasaBasisUrl(). "/albumid/$albumid/photoid/$gphotoid"; 
    $len=strlen($data); 

    $headers = array( 
        "Authorization: GoogleLogin auth=" . $this->auth, 
        "GData-Version: 2", 
        'Content-Type: application/atom+xml', 
        "Content-Length: $len", 
        ); 

      $ch = curl_init();    /* Create a CURL handle. */ 


      /* Set cURL options. */ 
      curl_setopt($ch, CURLOPT_URL, $itemsFeedURL); 
      curl_setopt($ch, CURLOPT_POST, true); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($ch, CURLOPT_FAILONERROR, true); 
      curl_setopt($ch, CURLOPT_HTTPHEADER, $headers ); 
      curl_setopt($ch, CURLOPT_POSTFIELDS,$data); 
     $result = curl_exec($ch);  /* Execute the HTTP request. */
       $info = curl_getinfo($ch);
      curl_close($ch);           /* Close the cURL handle. */
     return $info;

ありがとう、金持ち

4

1 に答える 1

1
  1. あなたの引用は壊れています。$ dataにはエスケープされていない二重引用符が含まれているため、質問に投稿したコードは機能しません"。あなたはそのようにそれらすべてを脱出する必要があります:\"。これがコードでそのようになっている場合、それはすでに問題になっている可能性があります。

  2. curl_exec()呼び出しの後に使用echo curl_error()して、アップロード中に問題が発生したかどうかを確認します。

于 2010-01-19T23:54:00.270 に答える