UNPKG

googleapis

Version:
1,034 lines 2.85 MB
/// <reference types="node" /> import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace contentwarehouse_v1 { export interface Options extends GlobalOptions { version: 'v1'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Document AI Warehouse API * * * * @example * ```js * const {google} = require('googleapis'); * const contentwarehouse = google.contentwarehouse('v1'); * ``` */ export class Contentwarehouse { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } export interface Schema$AbuseiamAbuseType { id?: string | null; /** * Optional client specific subtype of abuse that is too specific to belong in the above enumeration. For example, some client may want to differentiate nudity from graphic sex, but both are PORNOGRAPHY. */ subtype?: string | null; } export interface Schema$AbuseiamAgeRestriction { /** * This restriction applies if the user is between [min_age_years, age_years) years old. */ ageYears?: number | null; minAgeYears?: number | null; } export interface Schema$AbuseiamAndRestriction { /** * This restriction applies if all of the children apply. */ child?: Schema$AbuseiamUserRestriction[]; } /** * A client is be a Google product, or subproduct that provides content for AbuseIAm to classify. */ export interface Schema$AbuseiamClient { id?: string | null; /** * The name of the subservice within a client. This subservice can be used to affect the flow of decision script, or selection of backend classifiers. For example, StreetView may want to specify a panel is insufficiently blurred (maybe there is a lisense plate or public sex, etc), which requires manual review then the subservice might be "blurring". */ subservice?: string | null; } /** * Extra information regarding evaluations received through cluster review. */ export interface Schema$AbuseiamClusterEvaluationContext { /** * The family of the cluster where the case received the evaluation. */ clusterFamily?: string | null; /** * The AbuseIAm rowkey of the cluster where the case received an evaluation. */ clusterRowkey?: string | null; /** * The gaia id of a mail box that ops can send inquiries to for appeals. Used only by user clusters to fill a required gatekeeper param. See gaia_disableserver.DisableSpec.escalate_to field. */ gaiaIdToEscalate?: string | null; } export interface Schema$AbuseiamConstantRestriction { /** * A constant of type TRUE always applies, and of type FALSE never applies. */ type?: string | null; } /** * Pair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information. */ export interface Schema$AbuseiamContentRestriction { /** * Takedowns specified by admins via AbuseIAm */ adminVerdict?: Schema$AbuseiamVerdict[]; /** * User-specified takedowns */ userVerdict?: Schema$AbuseiamVerdict[]; } /** * Backends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts. */ export interface Schema$AbuseiamEvaluation { abuseType?: Schema$AbuseiamAbuseType; /** * Who creates this Evaluation. This field is required. */ backend?: string | null; /** * Extra information regarding the cluster review context where the case received the evaluation. */ clusterEvaluationContext?: Schema$AbuseiamClusterEvaluationContext; /** * Backends can choose to put some debug info in addition to abuse_type, score, and status. */ comment?: string | null; /** * A set of repeated features to allow adapters to return semi structured data. Please, prefer using feature instead of the old misc_data field since it supports richer and more structured data to be passed back. */ feature?: Schema$AbuseiamFeature[]; /** * Information about the manual review, for manual review evaluations. Do NOT expect this field to be set if `backend != MANUAL_REVIEW`. */ manualReviewInfo?: Schema$AbuseiamManualReviewEvaluationInfo; /** * This field is used to store miscellaneous information that Backend might provide. If you find youself here considering to use this field, please prefer using the repeated feature field below instead. It supports a richer structure for passing complex data back from the backend. */ miscData?: Schema$AbuseiamNameValuePair[]; /** * When the evaluation was processed by the decision script. */ processedMicros?: string | null; /** * Time in milliseconds when the Backend processed this Evaluation. */ processTimeMillisecs?: string | null; /** * The list of regions where the evaluation applies. */ region?: Schema$AbuseiamRegion[]; score?: number | null; status?: string | null; target?: Schema$AbuseiamTarget; /** * When the Evaluation was generated. */ timestampMicros?: string | null; /** * A boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto. */ userRestriction?: Schema$AbuseiamUserRestriction; /** * Version of Backend. For rules, this string is the only way to differentiate between them. */ version?: string | null; /** * Information about the video review, for video review evaluations. Do NOT expect this field to be set if `backend != VIDEO_REVIEW`. */ videoReviewData?: Schema$AbuseiamVideoReviewData; } export interface Schema$AbuseiamFeature { /** * Exactly one of the following should be filled in. */ booleanValue?: boolean | null; doubleValue?: number | null; /** * Useful for applications that need to know how many times a specific feature occurs */ featureCount?: string | null; /** * Useful for timestamps, or for numerical features where it is helpful for decision scripts to have exact values. */ int64Value?: string | null; /** * integer value field is deprecated and shall only be used for passing the following features hardcoded in spamiam::SpamIAmMessage: spamiam::OrkutSenderId spamiam::OrkutPostnumReports spamiam::BloggerNumComments spamiam::BloggerNumCommentsByOthers Another hard-coded spamiam feature is spamiam::BlogName, which can be specified via string value. */ integerValue?: number | null; name?: string | null; stringValue?: string[] | null; /** * This field should only be used to store a sequence of timestamps associated with the feature. */ timestampSequence?: string[] | null; } /** * A node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France. */ export interface Schema$AbuseiamGeoRestriction { locale?: Schema$AbuseiamGeoRestrictionLocale[]; } export interface Schema$AbuseiamGeoRestrictionLocale { /** * The location where the restriction applies. Defaults to the "The world". See go/iii. */ location?: string | null; /** * The UserRestriction that applies to this location. If not specified evaluates to true. */ restriction?: Schema$AbuseiamUserRestriction; } /** * Information about various hashes that can be computed on a message ex: simhash, attachment hash, etc */ export interface Schema$AbuseiamHash { /** * 64 bit hash in the hex form. */ hash?: string | null; type?: string | null; } export interface Schema$AbuseiamManualReviewerInfo { credential?: string[] | null; username?: string | null; } /** * Relevant information for manual review evaluations. */ export interface Schema$AbuseiamManualReviewEvaluationInfo { /** * Reviewer performing the manual review. */ reviewer?: Schema$AbuseiamManualReviewerInfo; /** * Tool used to perform the manual review. */ tool?: Schema$AbuseiamManualReviewTool; } export interface Schema$AbuseiamManualReviewTool { experimentId?: string | null; name?: string | null; } export interface Schema$AbuseiamNameValuePair { name?: string | null; nonUtf8Value?: string | null; value?: string | null; } export interface Schema$AbuseiamNotRestriction { /** * This restriction applies if the child does not apply. Only one is allowed. "repeated" is used to avoid breaking Sawzall (See b/6758277). */ child?: Schema$AbuseiamUserRestriction[]; } export interface Schema$AbuseiamOrRestriction { /** * This restriction applies if any of the children apply. */ child?: Schema$AbuseiamUserRestriction[]; } export interface Schema$AbuseiamRegion { /** * This is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict. */ region?: string | null; } /** * A SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD. */ export interface Schema$AbuseiamSpecialRestriction { type?: string | null; } export interface Schema$AbuseiamTarget { id?: string | null; type?: string | null; } /** * A structure used to configure a notification to a user. */ export interface Schema$AbuseiamUserNotification { channel?: string | null; } /** * Describes restrictions on where the verdict applies. Please use {@code TakedownManager\} to evaluate this proto. */ export interface Schema$AbuseiamUserRestriction { ageRestriction?: Schema$AbuseiamAgeRestriction; /** * Operators */ andRestriction?: Schema$AbuseiamAndRestriction; /** * Constant */ constantRestriction?: Schema$AbuseiamConstantRestriction; /** * Leaf Nodes */ geoRestriction?: Schema$AbuseiamGeoRestriction; notRestriction?: Schema$AbuseiamNotRestriction; orRestriction?: Schema$AbuseiamOrRestriction; specialRestriction?: Schema$AbuseiamSpecialRestriction; } /** * Verdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement. */ export interface Schema$AbuseiamVerdict { /** * Target client of the verdict. It can be used to differentiate verdicts from multiple clients when such verdicts are processed in one common place. */ client?: Schema$AbuseiamClient; /** * Additional info regarding the verdict. */ comment?: string | null; decision?: string | null; /** * Time duration (in minutes) of the verdict. */ durationMins?: number | null; /** * Evaluations relevant to this verdict. Every Verdict should contain at least one Evaluation. */ evaluation?: Schema$AbuseiamEvaluation[]; /** * Details of all the hashes that can be computed on a message, such as simhash and attachment hash */ hashes?: Schema$AbuseiamHash[]; /** * Is this verdict issued by legal? */ isLegalIssued?: boolean | null; /** * This field is used to pass relevant / necessary scores to our clients. For eg: ASBE propogates these scores to moonshine. */ miscScores?: Schema$AbuseiamNameValuePair[]; /** * A short description of the reason why the verdict decision is made. */ reasonCode?: string | null; /** * The regions in which this verdict should be enforced. Absence of this field indicates that the verdict is applicable everywhere. */ region?: Schema$AbuseiamRegion[]; /** * Restrictions on where this verdict applies. If any restriction is met, the verdict is applied there. If no restrictions are present, the verdict is considered global. */ restriction?: Schema$AbuseiamVerdictRestriction[]; /** * Category of the strike if this is a strike verdict. */ strikeCategory?: string | null; target?: Schema$AbuseiamTarget; /** * The timestamp of the target. E.g., the time when the target was updated. */ targetTimestampMicros?: string | null; /** * When the verdict is generated */ timestampMicros?: string | null; /** * Extra notification(s) to be delivered to target user or message owner about the verdict. */ userNotification?: Schema$AbuseiamUserNotification[]; /** * version of decision script */ version?: string | null; } /** * Describes restrictions on where the verdict applies. */ export interface Schema$AbuseiamVerdictRestriction { /** * For a restriction to apply, all contexts must be satisfied. For example, if context[0] is COUNTRY/'GERMANY' and context[1] is DESTINATION_STREAM/'gplus:SQUARE:knitting_discussion', then the verdict applies only when the 'knitting discussion' square is viewed from inside Germany. Please note that this is present for legacy reasons and users of this field would be migrated to use the user_restriction field defined below. */ context?: Schema$AbuseiamVerdictRestrictionContext[]; /** * A boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto. */ userRestriction?: Schema$AbuseiamUserRestriction; } /** * Describes a dimension of a context where a verdict applies. */ export interface Schema$AbuseiamVerdictRestrictionContext { /** * String identifying the context. */ id?: string | null; type?: string | null; } /** * Information about a video review. */ export interface Schema$AbuseiamVideoReviewData { /** * Serialized repeated youtube_admin.adminmatch.csai.ReferenceFragment */ referenceFragment?: string[] | null; /** * Information about the video reviewer. */ reviewer?: Schema$AbuseiamVideoReviewer; /** * The Viper id of the video. */ videoId?: string | null; } /** * Information about video reviewers. */ export interface Schema$AbuseiamVideoReviewer { type?: string | null; /** * The username of the person doing the video review. */ username?: string | null; } /** * The serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well. */ export interface Schema$AdsShoppingReportingOffersSerializedSoriId { highId?: string | null; lowId1?: string | null; lowId2?: string | null; } export interface Schema$Anchors { anchor?: Schema$AnchorsAnchor[]; /** * The total # of local homepage anchors dropped in AnchorAccumulator. */ homepageAnchorsDropped?: string | null; /** * The index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h. */ indexTier?: number | null; /** * The total # of local non-homepage anchors dropped in AnchorAccumulator. */ localAnchorsDropped?: string | null; /** * The total # of non-local anchors dropped in AnchorAccumulator. */ nonlocalAnchorsDropped?: string | null; redundantanchorinfo?: Schema$AnchorsRedundantAnchorInfo[]; /** * The *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor. */ redundantAnchorsDropped?: string | null; /** * The total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED. */ supplementalAnchorsDropped?: string | null; /** * may be implicit */ targetDocid?: string | null; /** * HOST_LEVEL site chunking. */ targetSite?: string | null; /** * This is produced during link extraction but not written out in the linklogs in order to save space. */ targetUrl?: string | null; } export interface Schema$AnchorsAnchor { bucket?: number | null; /** * CATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexing */ catfishTags?: number[] | null; /** * If the anchor contained images, these image urls are stored here in compressed form. */ compressedImageUrls?: string[] | null; /** * The anchor's original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded. */ compressedOriginalTargetUrl?: string | null; context?: number | null; /** * This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the 'context' field.) */ context2?: number | null; /** * used for history - the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created. */ creationDate?: number | null; deleted?: boolean | null; deletionDate?: number | null; /** * DEPRECATED */ demotionreason?: number | null; /** * Encoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines. */ encodedNewsAnchorData?: number | null; /** * If true, the anchor is for experimental purposes and should not be used in serving. */ experimental?: boolean | null; /** * true iff exp domain */ expired?: boolean | null; /** * # days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extraction */ firstseenDate?: number | null; /** * true if we think 'firstseen_date' is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it. */ firstseenNearCreation?: boolean | null; fontsize?: number | null; /** * How the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater. */ forwardingTypes?: number | null; /** * The URL fragment for this anchor (the foo in http://www.google.com#foo) */ fragment?: string | null; /** * The full context. These are not written out in the linklogs. */ fullLeftContext?: string[] | null; fullRightContext?: string[] | null; /** * The bit ~roughly~ indicates whether an anchor's source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above). */ isLocal?: boolean | null; /** * Used for history and freshness tracking - the timestamp this anchor is updated in indexing. */ lastUpdateTimestamp?: number | null; /** * Additional information related to the anchor, such as additional anchor text or scores. */ linkAdditionalInfo?: Schema$Proto2BridgeMessageSet; /** * Contains info on link type, source page, etc. */ linkTags?: number[] | null; /** * For ranking purposes, the quality of an anchor is measured by its "locality" and "bucket". See quality/anchors/definitions.h for more information. */ locality?: number | null; /** * This is the offset for the first term in the anchor - it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data. */ offset?: number | null; /** * The docid of the anchor's original target. This field is available if and only if the anchor is forwarded. */ originalTargetDocid?: string | null; /** * Original text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space. */ origText?: string | null; /** * Weight to be stored in linkmaps for pageranker */ pagerankWeight?: number | null; /** * The number of additional links from the same source page to the same target domain. Not populated if is_local is true. */ parallelLinks?: number | null; /** * DEPRECATED. It used to be set if firstseen_date is not set. It's to indicate that the anchor is possibly old, but we don't have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies. */ possiblyOldFirstseenDate?: boolean | null; /** * TEMPORARY */ setiPagerankWeight?: number | null; source?: Schema$AnchorsAnchorSource; /** * is to record the quality of the anchor's source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), - Anchors marked TYPE_HIGH_QUALITY are from base documents. - Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). - Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal. */ sourceType?: number | null; /** * A given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding. */ targetUrlEncoding?: number | null; /** * Space-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc . */ text?: string | null; /** * This field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62. */ timestamp?: string | null; /** * DEPRECATED: Now in link_tags */ type?: number | null; /** * weights are 0-127 */ weight?: number | null; } /** * attributes of the source document for the link */ export interface Schema$AnchorsAnchorSource { /** * Additional information related to the source, such as news hub info. */ additionalInfo?: Schema$Proto2BridgeMessageSet; /** * anchor++ cluster id */ cluster?: number | null; /** * compressed source url */ compressedUrl?: string | null; /** * Source page crawl timestamp. */ crawlTimestamp?: string | null; /** * The docid field used to be "required", but it is now "optional" because it is not present when anchors are stored in webtable. When anchors are stored as part of docjoin files in the segment indexer, however, docid should be considered required. */ docid?: string | null; /** * necessary for anything? */ doclength?: number | null; /** * Information about if the source page is a home page. It can be one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED). */ homePageInfo?: number | null; /** * uint16 scale */ indyrank?: number | null; /** * DEPRECATED, use packed_ipaddress */ ipaddr?: number | null; /** * default -\> English */ language?: number | null; /** * 0 -\> no hash */ linkhash?: string | null; /** * Countries to which the source page is local/most relevant; stored as III identifiers for country/region codes (see http://go/iii). */ localCountryCodes?: number[] | null; /** * This NSR value has range [0,1000] and is the original value [0.0,1.0] multiplied by 1000 rounded to an integer. */ nsr?: number | null; outdegree?: number | null; /** * approx num of pointed-to sites */ outsites?: number | null; /** * string in IPAddress::ToPackedString() format. */ packedIpaddress?: string | null; /** * uint16 scale */ pagerank?: number | null; /** * unit16 scale */ pagerankNs?: number | null; /** * Page tags are described by enum PageTag in PerDocData. Page tags are used in anchors to identify properties of the linking page. These are DEPRECATED: in the future, use link_tags instead. DEPRECATED */ pageTags?: number[] | null; /** * DEPRECATED */ seglanguage?: number | null; site?: string | null; /** * uint16 scale */ spamrank?: number | null; /** * deprecated, to be removed after October 20. 0-127 scale */ spamscore1?: number | null; /** * 0-127 scale */ spamscore2?: number | null; /** * Webtable key of source */ webtableKey?: string | null; } /** * NOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we'll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead. */ export interface Schema$AnchorsRedundantAnchorInfo { anchorsDropped?: string | null; domain?: string | null; text?: string | null; } /** * Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator. */ export interface Schema$AppsDynamiteCustomerId { customerId?: string | null; } /** * Contains info about the entity that something is, or is owned by. */ export interface Schema$AppsDynamiteSharedOrganizationInfo { consumerInfo?: Schema$AppsDynamiteSharedOrganizationInfoConsumerInfo; customerInfo?: Schema$AppsDynamiteSharedOrganizationInfoCustomerInfo; } /** * Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below. */ export interface Schema$AppsDynamiteSharedOrganizationInfoConsumerInfo { } export interface Schema$AppsDynamiteSharedOrganizationInfoCustomerInfo { customerId?: Schema$AppsDynamiteCustomerId; } /** * Contains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINED */ export interface Schema$AppsDynamiteSharedSegmentedMembershipCount { /** * count of members with given type and state */ membershipCount?: number | null; membershipState?: string | null; memberType?: string | null; } export interface Schema$AppsDynamiteSharedSegmentedMembershipCounts { value?: Schema$AppsDynamiteSharedSegmentedMembershipCount[]; } /** * A DestinationStream is a /namespace/id[0]/id[1]/.../id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A "comment Stream" (Fountain) on http://www.youtube.com/watch?id=123 It's possible for a single Activity to show in each of these destinations - and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3 */ export interface Schema$AppsPeopleActivityBackendDestinationStream { /** * The hierarchy of IDs. Each individual ID is "flat" and the repeated list defines the hierarchy. Namespaces define the "validity" of this hierachy (depth, naming convention, etc) and the server will reject invalid IDs. */ id?: string[] | null; namespace?: string | null; } /** * Stores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well. */ export interface Schema$AppsPeopleActivityStreamqualityDistillerEngagements { /** * Corresponds on "This account might be compromised or hacked" reporting action. */ reportCompromised?: string | null; /** * Corresponds on "Harassment or bullying" reporting action. */ reportHarassment?: string | null; /** * Corresponds on "Hate speach or graphic violence" reporting action. */ reportHate?: string | null; /** * Corresponds on "Pornography or sexually explicit material" reporting action. */ reportPorn?: string | null; /** * Corresponds on "Unwanted commercial content or spam" reporting action. */ reportSpam?: string | null; /** * Number of times this activity was served out of asbe/stanza. */ serveCount?: string | null; /** * Timestamp in seconds for which time this record is valid. */ timeSec?: string | null; /** * Corresponds on Distiller comment thumbs down action. */ ytThumbsDown?: string | null; } export interface Schema$AppsPeopleOzExternalMergedpeopleapiAbout { contentType?: string | null; metadata?: Schema$AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata; /** * Sanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested. */ safeHtmlValue?: Schema$WebutilHtmlTypesSafeHtmlProto; value?: string | null; } /** * Extension data for use in AboutMe. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData { nameDisplayOptions?: Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions; photosCompareData?: Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData; profileEditability?: Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability; profileNameModificationHistory?: Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory; } /** * See NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions { nicknameOption?: string | null; } export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData { diffData?: Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData; highResUrl?: string | null; /** * True if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it's recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photos */ inconsistentPhoto?: boolean | null; /** * Only present if the photo diff is greater than 0.01 on any color band. */ lowResData?: string | null; lowResUrl?: string | null; monogramUrl?: string | null; /** * True if the low-res photo has a private ACL set. */ privateLowResAcl?: boolean | null; } export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData { blueDiff?: number | null; greenDiff?: number | null; redDiff?: number | null; } /** * See UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability { /** * Read-only set of zero or more field paths that are locked for update on this person, such as "person.name", "person.email", etc. The set of fields is only populated for the requester's profile. Fields in the set cannot be edited, added, or deleted from the profile. Attempting to update any of these fields will result in an exception. */ lockedField?: string[] | null; } /** * See ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.proto */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory { /** * The number of name changes remaining at RPC request time. This can be more than name_changes_remaining, if user hasn't changed name for some time and accrued quota since last change. */ computedNameChangesRemaining?: number | null; /** * The number of nickname changes remaining at RPC request time. This can be more than nickname_changes_remaining, if user hasn't changed nickname for some time and accrued quota since last change. */ computedNicknameChangesRemaining?: number | null; /** * The number of name changes remaining at the time the name was last modified. */ nameChangesRemaining?: number | null; /** * The last time the profile name was modified in milliseconds UTC. */ nameLastModified?: string | null; /** * The number of nickname changes remaining at the time the nickname was last modified. */ nicknameChangesRemaining?: number | null; /** * The last time the profile nickname was modified in milliseconds UTC. */ nicknameLastModified?: string | null; quotaEnforcementStatus?: string | null; } export interface Schema$AppsPeopleOzExternalMergedpeopleapiAccountEmail { email?: string | null; } /** * Additional information about a container. TO BE DELETED: replaced by DeviceContactInfo. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo { /** * When the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field. */ rawDeviceContactInfo?: Schema$AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo[]; } export interface Schema$AppsPeopleOzExternalMergedpeopleapiAddress { country?: string | null; countryCode?: string | null; /** * FeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity. */ encodedPlaceId?: string | null; extendedAddress?: string | null; formatted?: string | null; /** * The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage. */ formattedType?: string | null; locality?: string | null; metadata?: Schema$AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata; poBox?: string | null; pointSpec?: Schema$AppsPeopleOzExternalMergedpeopleapiPointSpec; postalCode?: string | null; region?: string | null; streetAddress?: string | null; /** * The type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other` */ type?: string | null; } /** * Similar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAffinity { /** * Contains extra ranking information returned by DAS. */ affinityMetadata?: Schema$SocialGraphWireProtoPeopleapiAffinityMetadata; affinityType?: string | null; /** * The ID of the container */ containerId?: string | null; /** * The type of container to which this affinity applies */ containerType?: string | null; /** * Used to log events for this affinity value, for disco diagnostic-purposes. See go/disco-diagnostics. */ loggingId?: string | null; /** * Affinity value. Frequently represented as an inverse ranking, sometimes with additional data encoded. If data_formats.affinity_formats.score_format is set to RAW_SCORE then the value will be the score returned by DAS. */ value?: number | null; } /** * Please read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAgeRangeType { /** * Please read go/people-api-howto:age on how to get age data. Age of the user. The field is set based on profile storage fields such as account birthday. If the source fields are not present, `age_in_years` will be left unset. */ ageInYears?: number | null; /** * Deprecated. Use go/supervised-accounts#capabilities-for-child-accounts instead. Denotes whether the user is under the region based Age of Consent. The user's region is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from Birthday field or CertifiedBornBefore field. The region based AoC is specified at go/aoc. */ ageOfConsentStatus?: string | null; /** * Deprecated. Please read go/people-api-howto:age on how to get age data. Age range is populated based on `account_birthday` and `certified_born_before`, which may not be set for dasher users. */ ageRange?: string | null; metadata?: Schema$AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata; } /** * Store all app unique info that are needed for app action fulfillment. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo { /** * Store the app unique id endpoint. This will be passed over to app to fulfill the action. For example, app_unique_id for Whatsapp will be "11234567890@s.whatsapp.net" */ appUniqueId?: string | null; /** * Where this contact info was retrieved from. Note: only added for Assistant usage, and will not be populated by PAPI. This is due to the coupling between Assistant Proto, and PAPI proto. (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto) */ contactInfoSource?: string | null; /** * Store third party endpoint that is displayed to users. For example, display_app_unique_id for Whatsapp will be "Message +11234567890". */ displayAppUniqueId?: string | null; /** * Store third party endpoint label. For example, "HOME", "WORK" */ label?: string | null; /** * Store mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.profile" voice call mimetype for whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.voip.call" */ mimetype?: string | null; } /** * The best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, ... Rough source container priority order is Contact, then Profile, then Place. */ export interface Schema$AppsPeopleOzExternalMergedpeopleapiBestDisplayName { /** * The container the suggested name was sourced from */ containerType?: string | null; /** * The display name. This name is intended to be the best name to display for this Person. It may be built from a variety of fields, even if those fields are not explicitly requested in the request mask. Generally, the display name is formatted in 'first last' format. If the name appears to be a CJK name (as determined by a heuristic), the 'last first' format will be used. There may be other cases that the 'last first' format is used which are not documented here. See the code at: http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659&rcl=351360938 */ displayName?: string | null; /** * The display name, always in 'last first' format. This field does not depend on the format of `display_name` and will always be in 'last first' format. */ displayNameLastFirst?: string | null; } /** * IMPORTANT NOTES: - Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. - The birthday field should not be used to calculate the requester's age! To determine the requester's age, use person.age_range_repeated. - For more details about age see go/peopleapi-howto/age Birthday value may not be present: - Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. - Dasher users generally don't require birthday, but could optionally have it set by users. - Any other types of accounts (e.g. robot, service) do not have birthdays. - Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: - "Profile Birthday" (person.birthday.metadata.container is PROFILE) may not have a year set if user "hides" the year. - "Account Birthday" (see api-specific notes below) will only be returned for the requester's own profile. - People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: "person.birthday" \}` `include_container: ACCOUNT` - People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: "person.account_birthday" \}` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) - See go/papi-