如何通过 REST API 检索页面上的图像 url [英] How to retrieve image url on a page through REST API
问题描述
我正在使用 rest api 来检索 sharepoint online 网站上页面的标题、正文等.问题是当我获取页面的 xml 时,没有对页面上加载的图片的引用.我什至得到了标题,但没有参考图片.
I'm using rest api to retrieve title, main text etc. of pages on a site on sharepoint online. Problem is when I fetch the xml of a page, there is no reference to the picture that is loaded on the page. I even get the caption but no reference to the picture.
这是我获得的 xml 和我使用的 uri 的示例:https://mysite.sharepoint.com/sites/test/_api/web/lists/pages/items(6)
here's an example of the xml I get and the uri I use: https://mysite.sharepoint.com/sites/test/_api/web/lists/pages/items(6)
xml:
<content type="application/xml">
<m:properties>
<d:FileSystemObjectType m:type="Edm.Int32">0</d:FileSystemObjectType>
<d:Id m:type="Edm.Int32">6</d:Id>
<d:ContentTypeId>0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900242457EFB8B24247815D688C526CD44D00BBA24CC0099910944B5773544989BF2F44BE8E92A</d:ContentTypeId>
<d:Title>Forsikringer</d:Title>
<d:Comments m:null="true" />
<d:PublishingContactId m:null="true" />
<d:PublishingContactEmail m:null="true" />
<d:PublishingContactName m:null="true" />
<d:PublishingContactPicture m:null="true" />
<d:PublishingPageLayout m:type="SP.FieldUrlValue">
<d:Description>Article Page</d:Description>
<d:Url>https://mysite.sharepoint.com/sites/test-Ucom/_catalogs/masterpage/ArticlePage.aspx</d:Url>
</d:PublishingPageLayout>
<d:PublishingIsFurlPage m:null="true" />
<d:SeoBrowserTitle m:null="true" />
<d:SeoMetaDescription m:null="true" />
<d:SeoKeywords m:null="true" />
<d:RobotsNoIndex m:null="true" />
<d:PublishingPageContent><p>Vårt forsikringsbyrå sørger for at alle ansatte i Conteso får den behandlingen og oppreisningen som er nødvendig om uhellet er ute. Dersom du sliter med vonde nakke og skuldre etter lange dager foran dataen dekker vår helseforsikring blant annet behandling hos både fysioterapeut og kiropraktor.</p><p> Ønsker du å lese mer om hva vår helseforsikring dekker kan du lese mer om dette i personalhåndboken. </p></d:PublishingPageContent>
<d:ArticleByLine m:null="true" />
<d:ArticleStartDate m:null="true" />
<d:PublishingImageCaption>Vårt forsikringsbyrå sørger for at alle ansatte i Conteso får den behandlingen og oppreisningen som er nødvendig om uhellet er ute.</d:PublishingImageCaption>
<d:FeaturedArticle m:type="Edm.Boolean">true</d:FeaturedArticle>
<d:PntsSmallFeaturedArticle m:type="Edm.Boolean">false</d:PntsSmallFeaturedArticle>
<d:Ingress>??Visste du at i Conteso har alle ansatte personal, reise og helseforsikring i verdensklasse?</d:Ingress>
<d:AllowComments m:type="Edm.Boolean">true</d:AllowComments>
<d:HiddenArticle m:type="Edm.Boolean">false</d:HiddenArticle>
<d:FirstTimePublished m:type="Edm.DateTime">2014-07-17T10:19:57Z</d:FirstTimePublished>
<d:Forfatter>Vikram Rai</d:Forfatter>
<d:Quote m:null="true" />
<d:QuoteBy m:null="true" />
<d:PntsLocation m:null="true" />
<d:PntsTargetGroup m:null="true" />
<d:ID m:type="Edm.Int32">6</d:ID>
<d:Created m:type="Edm.DateTime">2014-09-08T19:13:48Z</d:Created>
<d:AuthorId m:type="Edm.Int32">17</d:AuthorId>
<d:Modified m:type="Edm.DateTime">2014-09-08T19:13:48Z</d:Modified>
<d:EditorId m:type="Edm.Int32">17</d:EditorId>
<d:OData__CopySource m:null="true" />
<d:CheckoutUserId m:null="true" />
<d:OData__UIVersionString>1.0</d:OData__UIVersionString>
<d:GUID m:type="Edm.Guid">1c8606fd-2ffd-428b-991b-c9bf49f4d9c6</d:GUID>
</m:properties>
</content>
推荐答案
似乎无法直接使用 SharePoint REST 检索 Publishing Image
字段,请参阅 这篇文章 了解更多信息.
It does not seem possible to retrieve Publishing Image
fields using SharePoint REST directly, refer this post for an additional information.
有一种解决方法,可以使用对 /_api/web/lists/getbytitle('Pages')/items(
端点的单独请求来检索发布字段.
There is a workaround, publishing fields could be retrieved using a separate request to /_api/web/lists/getbytitle('Pages')/items(<item id>)/FieldValuesAsHtml
endpoint.
以下示例演示了如何从文章页面检索 PublishingPageImage
属性:
The following example demonstrates how to retrieve PublishingPageImage
property from an article page:
/_api/web/lists/getbytitle('Pages')/items(<item id>)/FieldValuesAsHtml?$select=PublishingPageImage
如果您对 JavaScript 解决方案感兴趣,请查看这个答案.
If you are interested in JavaScript solution, please check this answer.
这篇关于如何通过 REST API 检索页面上的图像 url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!