2011-07-07 7 views
0

こんにちは私はASIHTTPRequest POSTを使用して、ログインしたユーザーのベースキャンプにタイムエントリを追加しています。 ASIHTTPRequestの しかしASIHTTPRequest POST for basecamp

- (void)request:(ASIHTTPRequest *)request didReceiveResponseHeaders:(NSDictionary *)responseHeaders

メソッドが呼び出さ取得され、アクセスが拒否されたとして

- (void)requestFailed:(ASIHTTPRequest *)request 

に私はエラーを取得しています。

私はbasecamp URlにaunthenticationトークンを送信する必要もあります。これを行う方法を教えてください。

NSString *postData=[NSString stringWithFormat:            @"<time-entry>\ 
       <person-id> 898989 </person-id>\ 
       <date>2011-04-07</date>\ 
       <hours>2:00</hours>\ 
       <description>test</description>\ 
       </time-entry>"]; 

NSURL *url = [NSURL URLWithString:@"https://test.basecamphq.com/projects/4644/time_entries.xml"]; 

     ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
     [request setDelegate:self]; 
     [request setRequestMethod:@"POST"]; 
     [request appendPostData:[postData dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]]; 
     [request addRequestHeader:@"Accept" value:@"application/xml"]; 
     [request addRequestHeader:@"Content-Type" value:@"application/xml"]; 
     [request authenticationNeeded]; 

     [request setValidatesSecureCertificate:NO]; 
     [request startAsynchronous]; 

これは私のコードです。助けてください。 ;

http://developer.37signals.com/basecamp/

その後ベースキャンプあなたがこれを行う必要がある意味、HTTP基本認証を使用して:::

[(NSStringの*)kCFHTTPAuthenticationSchemeBasic要求setAuthenticationScheme]これは右のAPIドキュメントであると仮定すると、

答えて

0

[setUsernameを要求する:yourApiToken]; [setPasswordを要求してください:@ "X"];

あなたのAPIトークンを 'yourApiToken'に置きます。