アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

ライブドアブログにPHPスクリプトで
投稿するためのコードを
あるブログで見つけましたが、
下記のコードを実行すると

「<?xml version="1.0" encoding="utf-8" ?>
<error>Invalid login</error>」

というメッセージが表示します。

id 、パスワードはあっています。
エンコード方法が、間違っているんでしょうか?

「curl_setopt($ch, CURLOPT_POST, true);」
でのメッセージだと推測します。

そのブログの管理人との連絡方法が
ありません。

どなたか、お手数をおかけしますが、
アドバイスをいただけると幸いです。


<?php

$livedoor_id = "id"; // livedoorID
$password = "APIKEY"; // パスワード
$title = "english"; // 記事タイトル
$text = "this is a pen"; // 記事本文

$atomapi_url = "http://cms.blog.livedoor.com/atom/";

$created = date('Y-m-d\TH:i:s\Z');
$nonce = pack('H*', sha1(md5(time())));
$pass_digest = base64_encode(pack('H*', sha1($nonce.$created.$password)));
//$pass_digest = base64_encode(pack('H*', sha1($nonce.$created.strtolower(md5($password)))));
$wsse =
'UsernameToken Username="'.$livedoor_id.'", '.
'PasswordDigest="'.$pass_digest.'", '.
'Nonce="'.base64_encode($nonce).'", '.
'Created="'.$created.'"';

$text64= base64_encode($text);

$rawdata =
'<?xml version="1.0"?>'.
'<entry xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">'.
'<title type="text/html" mode="escaped">'.$title.'</title>'.
'<dc:subject type="text/html" mode="escaped">'.$category.'</dc:subject>'.
'<content type="application/xhtml+xml" mode="base64">'.$text64.'</content>'.
'</entry>';

//echo $rawdata;

$headers =array(
'X-WSSE: ' . $wsse,
'Expect:'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $atomapi_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$rawdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
curl_close($ch);

//出力結果確認用
echo $res;
?>

A 回答 (1件)

あるブログってこちらのことですかね。


http://d.hatena.ne.jp/soramugi/20110409/1302362739

本日付で、ブログ主さんからコメントがついていますね。

> 完成されたいのでしたら 新しく記事書いたのでこちらを使ってみて下さい
> http://d.hatena.ne.jp/soramugi/20111109/1320853307
    • good
    • 0
この回答へのお礼

実は、このブログでコメントしたのは、私で
その後何回かのやり取りで、
なんとか解決しました。

コメントはしましたが、
回答してくれるとは思いませんでしたので、
併せてGooにも投稿させていただいた次第です。

心遣いありがとうございました。

まだ、カテゴリーマッチングの問題が残っていますので、
別の質問として投稿させてもらいました。

お礼日時:2011/11/13 14:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!