1

iPhone で AdMob の収益を維持するためのアプリを作成します。API ドキュメントを読み、いくつかのコードを書きました。しかし、POSTリクエストに問題があり、null request.responseが返されます!!

NSString* PostURL= [NSString stringWithFormat:@"https://api.admob.com/v2/auth/login"];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:PostURL]];
[request setPostValue:APIKey forKey:@"client_key"];
[request addRequestHeader:@"Content-Type" value:@"application/x-www-form-urlencoded;"];
[request setPostValue:@"mymail@gmail.com" forKey:@"email"];
[request setPostValue:@"mypassword" forKey:@"password"];


[request setDelegate:self];
[request startSynchronous];

そして、ASIHTTPRequestDelegate メソッドを使用して応答をフェッチします。

-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data{

NSLog(@"didReceive data %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);}

出力は同じです: didReceive data: (null)

私たちを手伝ってくれますか?

4

3 に答える 3

1

新しい Admob Web 用の REST API はもう存在しないようです。

于 2015-01-30T10:48:39.173 に答える
0

この呼び出しに ASIFormDataRequest を使用したくないと思います。代わりに標準の ASIHTTPRequest クラスを使用し、そのメソッドを POST に設定する必要があります。次に、パラメーターをヘッダー フィールドとしてではなく、要求の本文として渡します。したがって、コードは次のようになります。

NSString *bodyString = @"client_key=123456&email=email@gmail.com&password=password";

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"https://api.admob.com/v2/auth/login"]];
[request setRequestMethod:@"POST"]; 
[request setPostBody:[bodyString dataUsingEncoding:NSUTF8StringEncoding]];

Content-Type ヘッダーを「application/json」に明示的に設定することもできます。URLにPOSTを実行すると、JSONが返されるようです。

[request addRequestHeader:@"Content-Type" value:@"application/json"];

raw リクエストのトラブルシューティングを行う場合は、コマンド ラインから curl を使用して送信内容を確認することもできます。次のようなコマンドを使用します。

> curl -d "client_key=123456&email=email@gmail.com&password=password" https://api.admob.com/v2/auth/login

よろしくお願いします。

于 2012-06-01T19:45:39.550 に答える
0

アプリケーションを開発している場合は、API ではなく、ネイティブのGoogle AdMob Ads SDKを使用して広告を取得する必要があります。

こちらの入門ガイドをご覧ください。

于 2012-06-01T18:28:03.937 に答える