2012-02-17 14 views

答えて

3

SOAPとRESTの2つのサービスが利用できます。

SOAPサービスはLists.aspxと呼ばれ、[サイトアドレス]で入手可能である/ _ vti_bin/Lists.asmx

REST(実際ODATA)サービスがListData.svcと呼ばれ、[サイトアドレス]で入手可能です/_vti_bin/ListData.svc

どちらの場合でも、Objective-C/XCodeで行う方法がわからないサービス呼び出しで資格情報を渡す必要があります。

+0

ありがとうRob。私が作っている接続はSOAPサービスを使用しているので、実際にはまだ動作していませんが、正しい行にいることを私に安心してくれてありがとう。私はGetListCollectionが私がそこに来たら正しい目的を果たすと思います。 Objective-Cの角度から誰かが経験したこと - 特にリスト項目にアクセスする - 特に助言をいただければ幸いです...ありがとう –

+0

@MarkLeightonは、Microsoftから非難されるため、RESTで動作します。将来のリリースではまた、2013またはOffice 365で作業する場合、新しいRESTサービス(client.svc)は、通常のCSOMと同等の機能を提供します。 – zaitsman

3

SharePointから必要な機能を公開するには、Webサービスを作成するのが最善の方法ですが、実際にはSharepointにはすでにこれに対していくつかのWebサービスがあると思われます。

次にSOAPを使用する場合はそれを消費してください。

+0

などがあります.SharePointによって公開されているLists.asmx(またはその他の.asmxサービス)やREST API(ListData.svc for 2010 and Client.svc 2013年)。 – zaitsman

0

私は他のこのどこかを見つけたが、それはあなた

NSString *soapFormat = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
         "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" 
         "<soap:Body>\n" 
         "<GetListCollection xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\" />\n" 
         "</soap:Body></soap:Envelope>\n"]; 


    NSLog(@"Request is : %@",soapFormat); 

    NSURL *locationOfWebService = [NSURL URLWithString:@"http://192.168.0.114/_vti_bin/lists.asmx"]; 

    NSLog(@"Web url = %@",locationOfWebService); 

    NSMutableURLRequest *theRequest = [[NSMutableURLRequest alloc]initWithURL:locationOfWebService]; 

    NSString *msgLength = [NSString stringWithFormat:@"%d",[soapFormat length]]; 


    [theRequest addValue:@"text/xml" forHTTPHeaderField:@"Content-Type"]; 
    [theRequest addValue:@"http://schemas.microsoft.com/sharepoint/soap/GetListCollection" 
          forHTTPHeaderField:@"SOAPAction"]; 


[theRequest addValue:msgLength forHTTPHeaderField:@"Content-Length"]; 
    [theRequest setHTTPMethod:@"POST"]; 
    //the below encoding is used to send data over the net 
    [theRequest setHTTPBody:[soapFormat dataUsingEncoding:NSUTF8StringEncoding]]; 


    NSURLConnection *connect = [[NSURLConnection alloc]initWithRequest:theRequest delegate:self]; 

    if (connect) { 
     webData = [[NSMutableData alloc]init]; 
    } 
    else { 
     NSLog(@"No Connection established"); 
    } 
0

Sharepointの2010年と2013年のための素晴らしいスタートになりました「http://site_url/_api」でアクセスすることができRESTfulなAPIを、持っている必要があります。

ここから/ _api/web/lists/GetByTitle( 'list_name')を追加すると、リストの内容を取得できます。あなたはこのapiでもっと多くをすることができます。サポートされている操作についてもっと読むには、this link

関連する問題