カテゴリーアーカイブ: 残りの部分

HTTP 406 SharePoint の残りの部分の端点に対する角度の $http.get を使用するときのエラー

更新プログラム: 情報のこの素晴らしい作品を指摘したマルク広告 ndersson: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. たくさん説明します。 :).

それが今まで、最悪、ブログの記事のタイトルがあります。! Anyhoo.

通常 O365 インスタンスに対して私のプロトタイピングの全力します。. 私は他の誰に影響を与える心配する必要はありませんので、私の個人的なインスタンスがある私. 余談として-覚えている我々 がモス – で私たちのラップトップ上の仮想マシンの周り実施呼び出し SQL Server, IIS, ハイパー V 対を決定します。. VMWare? Anyhoo.

角はこの環境を使用してアプリを開発していた, 他のものの間で, この:

$http.get(serverUrl)
.成功(関数(データ, ステータス, ヘッダー, 設定) {

var getLinksResponse = データ;

getLinksResponse.value.forEach(関数(その結果) {

// およびそう泡

これは 2 つの異なる SharePoint オンライン環境でうまく働いていた. ただし, とき私の同僚は Cloudshare インスタンスにそれを移植, 彼が得ていた、 HTTP 406 エラー (私はこれまで 1 つを得たの初めてだった, ... イェーイ, 思います). 我々 は研究のビットを行なったし、「受け入れる」ヘッダーがオフだったことに気づきました. SharePoint のオンラインは完全に満足していた:

受け入れる: アプリケーション/json

Cloudshare のインスタンスが (プレム上 SP であります。, 仮想サーバーでホストされています。) 古典的なしたかった"odata verbose ="同様の追加:

受け入れる: アプリケーション/json;odata = 詳細

それを修正するには, 我々 はそのヘッダーを追加:

var 構成 = {ヘッダー: {
' 受け入れる ': ' アプリケーション/json;odata verbose ='
}
};

$http.get(serverUrl,設定)
.成功(関数(データ, ステータス, ヘッダー, 設定) {

var getLinksResponse = データ;

getLinksResponse.value.forEach(関数(その結果) {

// およびそう泡

処分したこと、 406, しかし、それはまた、応答の形式を変更. 詳細は... 詳細. (ハハ!) 多くの変更が必要であり、ここで最終結果:

var 構成 = {ヘッダー: {
' 受け入れる ': ' アプリケーション/json;odata verbose ='
}
};

$http.get(serverUrl,設定)
.成功(関数(データ, ステータス, ヘッダー, 設定) {

var getLinksResponse = データ;

getLinksResponse.d.results.forEach(関数(その結果) {

// およびそう泡

これだけになって、 30 私たちの分の問題, だから私たちは尽きてください。. うまくいけば、誰かがこの役に立つ見つける.

</終了>

人々 検索範囲として指定するには、方法 / SharePoint を使用してコンテンツ ソース 2013 REST API

SharePoint を使用する理由を持っていた 2013 最初の時間の残りの部分を介して検索 API. 人を検索したいです。, ドキュメントではなく. ここでは学習キーをその GUID でコンテンツ ソースを指定します (またはこの場合少なくとも). 次の jQuery のスニペットに示す方法:

    loadExpertsAsync: 関数() {

        jQuery.support.cors = true;

        $.ajax({
            url: この.CreateFullApiUrl() +
                "?querytext = 'ポータル'&sourceid ='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,スキル,自己紹介,利益,氏名,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            メソッド: "取得",
            ヘッダー: { "受け入れる": "アプリケーション/json; odata = 詳細" },
            キャッシュ: false,
            成功: 関数 (結果) {

私の場合, 私は実行している API は、SharePoint に対するオンライン. GUID を取得するには, これらの手順:

  1. SharePoint 管理センターにアクセスします。
  2. 左側のナビゲーションから「検索」を選択します。
  3. 「結果ソースの管理」を選択します。
  4. 「地元の人々 の結果」を選択します。
  5. URL を見てください。.

私の URL のようなものに見えた:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

Sourceid パラメーターが私の仕事.

(Sourceid 実際に可能性があります SP と永続的なもののようなものを理解します。, しかし、私はいつもとにかくチェックします🙂 ).

</終了>

undefined私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

SharePoint 残り呼び出しの例

私の仕事もあなたを助けるかもしれないサンプル残り通話のセットを示します。. の 02/2014, 2つの例があります🙂

  1. その名前にスペースを含む列を参照します。
  2. 複数選択の列を参照します。
  3. 残りの部分を介して、人の検索を実行します。

 

私はこの時が経つにつれて追加します.

ここではいくつか便利なインキも見つけた:

その名前にスペースを含む列を参照します。

「ブログ作成者」という名前の列を持つカスタム リストを作成します。 (ブログと著者間のスペース).

その列を参照する $select です。:

image

単にスペースを「_x0020 _」に置き換える. 我々 は、インターネット全体の多くの例では _x0020 _ を参照してください、残りの部分は異なって.

そうしない場合, あなたはこのようなエラー メッセージを取得する責任を負う:

式 “ブログの著者” 無効です。.

簡単に十分な.

複数選択の参照列を参照します。

を設定します。:

  1. カテゴリという名前のカスタム リストを作成します。.
  2. いくつかのカテゴリを追加します。. Thusly カテゴリを追加:image
  3. MockBlog と呼ばれる別のカスタム リストを作成して、複数選択リストの列としてカテゴリを追加 (サイト列は、どのようにロールバックの場合または).

Mockblog リストにいくつかの項目を追加し、準備ができています。.

JQuery を使用して Ajax スタイルの呼び出しこのようなものになります。:

serverUrl   = "/_api、web、リスト、GetByTitle(' MockBlog')/項目" +
             "?$選択 = タイトル,カテゴリー/タイトル,Blog_x0020_Author/タイトル" + 
             "&$拡大 = Blog_x0020_Author,カテゴリ";

我々 は"私を与えるタイトルすべてのカテゴリに SharePoint を言っています。 (カテゴリー/タイトル). 実際の値を取得します。 タイトル 投稿 $展開ing カテゴリ リスト" (ゆっくり私言い換えがおそらくかなり緩んでいます。, これがどのようにそれを解釈するよ).

Fiddler を使用して、出力を見てくださいする JavaScript を介してこれをやっている場合, このような何かを取得します。:

 

image

(上記は、JSON オブジェクトです。)

残りの部分を介して、人の検索を実行します。

私はこれについてのブログ別に. キーは、sourceid 値がパラメーターを地元の人々 のコンテンツ ソースの GUID を指定するのには. (コンテンツ ソース使用のスコープと呼ばれる、それはすべて私のためのスコープと呼ぶ私-ああ-私は難しいないです。!).

続きを読むここで: http://www.mstechblogs.com/paul/?p=10385

 

</終了>

undefined私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

迅速で簡単な: 残りの部分を使用して SharePoint サイトを作成します。

多くのリソースを示すの周りは、これを行う方法です。, 包括的な移動するリンクを見つけることができなかった, ので、ここで我々 は.

REST API を使用して SharePoint サイトを作成することができます。  ここでは完全に焼かれた例です。:

<!--
    SiteRequestForm.html: 情報を収集し、ユーザーのサイトを作成します。.
-->

<センター>
<テーブル>
    <tr>
        <td>サイト名:</td>
        <td><入力 タイプ"テキストを =" 名前"SiteName =" id"SiteName =" /></td>
    </tr>
    <tr>
        <td colspan="2">
            <入力 タイプ="を提出" id"CreateSiteButton =" ="サイトの作成" />
        </td>
    </tr>
</テーブル>
</センター>

<スクリプト src="../Plugins/jquery-1.11.0.min.js"></スクリプト>

<スクリプト>
var CreateSiteLogicContainer = {

    createSiteData: {
            パラメーター」": {
                _metadata: { "の種類": "。WebInfoCreationInformation" },
                Url: "Paultest1",
                タイトル: "Paultest1",
                説明: "残りの部分作成 web ポール!",
                言語: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: false
            }
    },

    createSite: 関数 () {

        jQuery.support.cors = true;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").ヴァル();
        
        $.ajax({
            url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            メソッド: "ポスト",

            ヘッダー: {
                "を受け入れる": 「アプリケーション/json; odata = 詳細",
                "コンテンツの種類": 「アプリケーション/json;odata = 詳細",
                「X RequestDigest": $(「# __REQUESTDIGEST").ヴァル()
            },

            データ: ために JSON.stringify(CreateSiteLogicContainer.createSiteData),

            成功: 関数 () { アラート("成功"); },
            エラー: 関数 () { アラート("エラー"); }

        });
    },

    wireUpForm: 関数 () {
        $("#CreateSiteButton").クリック(関数 () {
            アラート(「約をしようサイトを作成します。");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</スクリプト>

成功した場合, このような応答の JSON のパケットを取得します。:

image

キーの思いをこのから学んだこと:

  • このアプローチは、jQuery を使用します。  私の場合, 私の jQuery のライブラリがある"./プラグイン」。  お気に入りの JQ 場所を指すを変更したいと思う.
  • コピーして、ページ上のコンテンツ エディター Web パーツにその全体のスニペットを貼り付けるし、うまく動作するはずです。  API 呼び出しの終了点を変更し、JQ を正しく参照するかどうかを確認したくなります。.
  • この URL は、API エンドポイント基準です。  私の場合, それはの下にサブサイトを作成します。 https://bigapplesharepoint.com
  • コンテンツの長さを提供する必要はありません。. いくつかのブログの記事や MSDN ドキュメントはあなたが行うことを意味します, しかし私のために自動的に起こった, 私と仮定 $$.ajax 呼び出し自体によって処理されています。.
  • この行が「禁止」の応答を避けるために必要です。: 「X RequestDigest": $(「# __REQUESTDIGEST").ヴァル().  それを行う他の方法があります。, しかし、これはかなりいいです。  このショートカットを提供するブログへのリンクを失いました。  あなたに H/T, 神秘的なブロガー!

幸運は、この誰かを役に立てば幸い.

</終了>

undefined私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

迅速かつ簡単な: SharePoint 残りの呼び出しのみを返します 100 レコード

私は私の SharePoint の練習ここでの公共直面している web サイトに取り組んでいます。 ニューヨーク 使用して JavaScript および残りの呼び出しの多くのコンテンツを表示.

メインラインの開発中に, だけで小さなデータセットを作成します。 10 または、カスタム リストと私の残りの部分の呼び出し行のでそこから引いた。  一度私は予想された成長のためのテストへのデータの数百行をリストに格上げ, 私は正確に得ていたことを発見 100 戻って私の残りの部分の呼び出しで返される行.

これはアドレスを非常に簡単なものです。  私の場合 (ほとんどの場合と考えていると), 既定の SharePoint に残りを呼び出します (業界標準として多分?) 戻り値 100 行します。  既定値以上に戻ります, $top パラメーターを使用して、あなたのコールに, ように:

/Insights Dev/_api/web/lists/GetByTitle を取得します。(' MockBlog')/項目?$選択 ID =,タイトル,カテゴリー/タイトル,Blog_x0020_Author/タイトル,DatePublished,BlogSummary&$拡大 = Blog_x0020_Author,カテゴリ&$フィルター =&$トップ = 9999

私を選んだ 9999 この場合以来私が知っている growth-wise, ない以上 200 またはので行 1 年でこのリストに追加されます。  不格好になる場合, 道のいくつかのページングを実装できます。.

</終了>

undefined私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin