2011-06-30 13 views
3

私はWordpressサイトのコンテンツを表示するアプリを開発しており、コメントの読んだりコメントを投稿したりすることもできます。私はコメントを残して、XML-RPCを介してコメントを投稿するためのログインを処理しています。すべてがうまくいっています。しかし、この特定のサイトは匿名のコメントを許可していません。だから、私はアプリを通じてアカウントの登録を許可する必要があります。iPhoneでWordpressサイトに登録するための返信

現在、私が所望の「ユーザ名」と「電子メール」を取ると、次のようにPOST経由で提出:

ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.lamebook.com/wp-signup.php"]]; 
[request setPostValue:@"example" forKey:@"user_name"]; 
[request setPostValue:@"[email protected]" forKey:@"user_test"]; 
[request setDelegate:self]; 
[request setDidFinishSelector:@selector(registerFinished:)]; 
[request setDidFailSelector:@selector(registerFailed:)]; 
[request startAsynchronous]; 

これは、それがアカウントを作成することで動作します。

- (void)registerFinished:(ASIFormDataRequest *)request { 
    NSString *response = [[NSString alloc] initWithData:[request responseData] encoding:NSASCIIStringEncoding]; 

    NSLog(@"response %@", response); 
} 

応答は、単に登録ページのHTMLです:しかし、私の問題は私のregisterFinished方法であることです。 HTMLには、登録の成功または失敗に関する情報は含まれていません。 Webフォーム返されたHTMLは、例えばエントリ何らかのエラーが発生した場合を、持って使用する場合

<p class="error">Username must be at least 4 characters</p> 

をしかし、私は電話で受け取るHTMLにこれらの要素を取得していないようです。電話に登録する適切な方法はありますか?

+0

私は同じことをするつもりです。あなたはそれを理解しましたか? –

+0

何も見つからない場合の回避策として、あなたのプラットフォームがカールをサポートしているとは思いませんか? – Sturm

+0

これは、ネイティブUIではなくUIWebViewを介して処理されました。 – MarkPowell

答えて

0

私が推測するサイトへのアクセス権があれば、プラグインで指定されたURLにデータを投稿して登録を実行できる小さなプラグインを作成できるはずです。これはかなりシンプルになります。機能をinitに接続して、入力に変数$_POSTをチェックしてください。

次に、username_existsを使用して既存のユーザーを確認し、wp_create_userを使用して登録を実行します。これらの関数は、JSON応答(または適切なもの)をアプリケーションに返すことができる戻り値を返します。

実際、XML-RPCでの私の経験は、それが幾分限られており、WordPressの残りの部分ではそれほど最新ではないということです。ただし、最新のリリースで変更された可能性があります。

関連する問題