お世話になります。
ライブドアブログに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;
?>
No.1ベストアンサー
- 回答日時:
あるブログってこちらのことですかね。
http://d.hatena.ne.jp/soramugi/20110409/1302362739
本日付で、ブログ主さんからコメントがついていますね。
> 完成されたいのでしたら 新しく記事書いたのでこちらを使ってみて下さい
> http://d.hatena.ne.jp/soramugi/20111109/1320853307
実は、このブログでコメントしたのは、私で
その後何回かのやり取りで、
なんとか解決しました。
コメントはしましたが、
回答してくれるとは思いませんでしたので、
併せてGooにも投稿させていただいた次第です。
心遣いありがとうございました。
まだ、カテゴリーマッチングの問題が残っていますので、
別の質問として投稿させてもらいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付と年月日を選択するコード...
-
ローカル環境で動くのに本番環...
-
PHP(smarty)についての質問(文...
-
PHPのクッキー情報を活用したい
-
ファイルをアップロードすると...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
php5-extensions を make でき...
-
CFileDialogの最初のディレクト...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
PHPのif文でその処理を途中で抜...
-
index.phpに入るには、どうすれ...
-
3つ以上の論理積は利用可能なの...
-
「クラス関数」「メンバ関数」...
-
index.phpって何ですか? 具体...
-
Q)PHPでメール送信について
-
PHPのFTP関数ftp_fgetエラーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付と年月日を選択するコード...
-
htmlのエラーについて(デバッグ)
-
文字コードの出力を変更したい
-
文字化けについて
-
前後の全角スペースを削除する...
-
XAMPP1.7.1上でPHPを実行すると...
-
php エラー
-
パスワード認証ページ作りたい...
-
PHP(smarty)についての質問(文...
-
ここでの ②if($su_d<>"")の比較...
-
phpの画面表示が真っ白です
-
mb_convert_variablesで変換出...
-
どうしたら確認ができますか!?
-
html内のphpスクリプトについて
-
機種依存文字の文字化けについて
-
エラー Warning: Cannot modif...
-
【PHP?】header("location : ...
-
javascriptからphpへ変数
-
ローカル環境で動くのに本番環...
-
PEARのXML/Unserializer.phpが...
おすすめ情報