2017-01-16 29 views
2

のJSONとしてリスト項目を取得し、私は、XML/Atomフォーマット内のすべてのデータを見ることができる午前、 enter image description here私はブラウザで、リストのリンクを入力すると代わりにXML /原子

下のスクリーンショット私は検索し、この流入を作るためにJSONとしての応答私は "RequestOptionsArgs"(私はTypescript & Angular2を使用しています)オブジェクトを使用しましたが、今回はリストの内容はありませんが、msg "Microsoft.SharePoint.SPException"というメッセージがあります。それは無効な認証を言う..しかし、私はすでにXMLコンテンツの中にデータを見ることができる応答データ形式を変更しようとしました。ここに私のサービスと消費方法;

import {Http,RequestOptionsArgs,Headers} from '@angular/http'; 
import {Observable} from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 
import {Injectable} from '@angular/core'; 

@Injectable() 
export class ListService { 
    constructor(private http_: Http){} 

    getAnnouncements(urllapi){ 
     urllapi = "http://urll/_api/web/lists/getByTitle('Announcement5Jan')/items"; 
     let headers = new Headers(); 
     headers.append('Content-Type', 'application/json'); 
     headers.append('Accept', 'application/json'); 
     let opts:RequestOptionsArgs = { headers: headers }; 
     return this.http_.get(urllapi/*, opts */).map(res=>res.json()); 
     //getting data as xml with this. if I comment out opts parameter no data but sp.exception 
    } 
} 

が呼び出されます。

this.spotfyService.getAnnouncements("").subscribe((res) => { 
      debugger 
      console.log("data:"+res)}); 

これらのアイテムはどのようにリザルトで取得できますか?

+0

xmlまたはjsonにしたいですか? – Aravind

+0

こんにちは、そのxmlは既に、私はそれがマッピングコードはどこですか?オブジェクトはあなたがマッピングしている – TyForHelpDude

+0

jsonとしてそれが必要ですか? – Aravind

答えて

2

これは、残りのAPIにヘッダパラメータが追加されたためです。私はSPFXのHttpClient APIを使用しているこのrigth方法を行うために、ここに私の作業コードサンプルは次のとおりです。

export default class Announcements extends React.Component<IAnnouncementProperties, IWebPartState> { 

     private listItemEntityTypeName: string = "SP.Data.AnnouncementsListItem";//Announcement2ListItem 
     private siteUrl: string = "https://mydomain.sharepoint.com/sites/site26jan"; 
... 

private readItems(skip, take): void { 
    this.props.httpClient.get(`${this.siteUrl}/_api/web/lists/getbytitle('${this.props.listName}')/items?&$top=${take}`, 
     SPHttpClient.configurations.v1) 
     .then((response: Response): Promise<{ value: IAnnouncement[] }> => { 
     return response.json(); 
     }) 
     .then((response: { value: IAnnouncement[] }): void => { 
     this.setState({ 
      status: `Successfully loaded ${response.value.length} items`, 
      items: response.value 
     }); 
     }, (error: any): void => { 
     this.setState({ 
      status: 'Loading all items failed with error: ' + error, 
      items: [] 
     }); 
     }); 
    } 

今では私が期待通りにSPからJSONなどのデータを取得します。

関連する問題