ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Core Namespace / ArcGISPortalExtensions Class / GetPortalInfoAsync Method
Example Version

GetPortalInfoAsync Method
Executes a self query on the specified portal to return its ArcGIS.Desktop.Core.Portal.PortalInfo.
Syntax
public static Task<PortalInfo> GetPortalInfoAsync( 
   ArcGISPortal portal
)

Parameters

portal

Return Value

Exceptions
ExceptionDescription
Thrown when an invalid portal is provided as the active portal.
You do not have permissions to access this resource or perform this operation.
Request failed: status code {status code}.
Remarks
This method will return (via portal self) the view of the portal as seen by the current user, whether anonymous or logged in. It uses the current culture, as specified, for ArcGIS Pro. Portal info includes information such as the name, logo, featured items, group queries, organization info, etc. for this portal. If the user is not logged in, this call will return the default view of the portal. If the user is logged in, the view of the returned portal will be specific to the organization to which the user belongs. The default view of the portal is dependent on the culture of the user, which is obtained from the user's profile.
Example
Portal: Get the "online" portal view for the current user
//If no-one is signed in, this will be the default view for
//the anonymous user.
var online = ArcGISPortalManager.Current.GetPortal(new Uri("http://www.arcgis.com"));
var portalInfo = await online.GetPortalInfoAsync();
Portal: Get the organization id for the current user
var portal = ArcGISPortalManager.Current.GetPortal(new Uri(portalUri));
var portalInfo = await portal.GetPortalInfoAsync();
var orgid = portalInfo.OrganizationId;
Portal: Execute a portal search
var portal = ArcGISPortalManager.Current.GetPortal(portalUri);
var owner = portal.GetSignOnUsername();
var portalInfo = await portal.GetPortalInfoAsync();

//1. Get all web maps
var query1 = PortalQueryParameters.CreateForItemsOfType(PortalItemType.WebMap);

//2. Get all web maps and map services - include user, organization
// and "usa" in the title
var query2 = PortalQueryParameters.CreateForItemsOfTypes(new List<PortalItemType>() {
  PortalItemType.WebMap, PortalItemType.MapService}, owner, "", "title:usa");
query2.OrganizationId = portalInfo.OrganizationId;

//retrieve in batches of up to a 100 each time
query2.Limit = 100;

//Loop until done
var portalItems = new List<PortalItem>();
while (query2 != null)
{
  //run the search
  PortalQueryResultSet<PortalItem> results = await portal.SearchForContentAsync(query2);
  portalItems.AddRange(results.Results);
  query2 = results.NextQueryParameters;
}

//process results
foreach (var pi in portalItems)
{
  //Do something with the portal items
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also