Copyright | (c) 2015-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
See: YouTube Data API Reference for youtube.search.list
.
Synopsis
- type SearchListResource = "youtube" :> ("v3" :> ("search" :> (QueryParam "part" Text :> (QueryParam "publishedAfter" DateTime' :> (QueryParam "videoDefinition" SearchListVideoDefinition :> (QueryParam "videoDuration" SearchListVideoDuration :> (QueryParam "videoCaption" SearchListVideoCaption :> (QueryParam "videoLicense" SearchListVideoLicense :> (QueryParam "regionCode" Text :> (QueryParam "forDeveloper" Bool :> (QueryParam "location" Text :> (QueryParam "locationRadius" Text :> (QueryParam "forContentOwner" Bool :> (QueryParam "channelId" Text :> (QueryParam "q" Text :> (QueryParam "forMine" Bool :> (QueryParam "videoEmbeddable" SearchListVideoEmbeddable :> (QueryParam "eventType" SearchListEventType :> (QueryParam "onBehalfOfContentOwner" Text :> (QueryParam "videoCategoryId" Text :> (QueryParam "topicId" Text :> (QueryParam "safeSearch" SearchListSafeSearch :> (QueryParam "videoSyndicated" SearchListVideoSyndicated :> (QueryParam "relatedToVideoId" Text :> (QueryParam "pageToken" Text :> (QueryParam "type" Text :> (QueryParam "channelType" SearchListChannelType :> (QueryParam "relevanceLanguage" Text :> (QueryParam "order" SearchListOrder :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "publishedBefore" DateTime' :> (QueryParam "videoType" SearchListVideoType :> (QueryParam "videoDimension" SearchListVideoDimension :> (QueryParam "alt" AltJSON :> Get '[JSON] SearchListResponse))))))))))))))))))))))))))))))))))
- searchList :: Text -> SearchList
- data SearchList
- slPublishedAfter :: Lens' SearchList (Maybe UTCTime)
- slVideoDefinition :: Lens' SearchList (Maybe SearchListVideoDefinition)
- slPart :: Lens' SearchList Text
- slVideoDuration :: Lens' SearchList (Maybe SearchListVideoDuration)
- slVideoCaption :: Lens' SearchList (Maybe SearchListVideoCaption)
- slVideoLicense :: Lens' SearchList (Maybe SearchListVideoLicense)
- slRegionCode :: Lens' SearchList (Maybe Text)
- slForDeveloper :: Lens' SearchList (Maybe Bool)
- slLocation :: Lens' SearchList (Maybe Text)
- slLocationRadius :: Lens' SearchList (Maybe Text)
- slForContentOwner :: Lens' SearchList (Maybe Bool)
- slChannelId :: Lens' SearchList (Maybe Text)
- slQ :: Lens' SearchList (Maybe Text)
- slForMine :: Lens' SearchList (Maybe Bool)
- slVideoEmbeddable :: Lens' SearchList (Maybe SearchListVideoEmbeddable)
- slEventType :: Lens' SearchList (Maybe SearchListEventType)
- slOnBehalfOfContentOwner :: Lens' SearchList (Maybe Text)
- slVideoCategoryId :: Lens' SearchList (Maybe Text)
- slTopicId :: Lens' SearchList (Maybe Text)
- slSafeSearch :: Lens' SearchList (Maybe SearchListSafeSearch)
- slVideoSyndicated :: Lens' SearchList (Maybe SearchListVideoSyndicated)
- slRelatedToVideoId :: Lens' SearchList (Maybe Text)
- slPageToken :: Lens' SearchList (Maybe Text)
- slType :: Lens' SearchList Text
- slChannelType :: Lens' SearchList (Maybe SearchListChannelType)
- slRelevanceLanguage :: Lens' SearchList (Maybe Text)
- slOrder :: Lens' SearchList SearchListOrder
- slMaxResults :: Lens' SearchList Word32
- slPublishedBefore :: Lens' SearchList (Maybe UTCTime)
- slVideoType :: Lens' SearchList (Maybe SearchListVideoType)
- slVideoDimension :: Lens' SearchList (Maybe SearchListVideoDimension)
REST Resource
type SearchListResource = "youtube" :> ("v3" :> ("search" :> (QueryParam "part" Text :> (QueryParam "publishedAfter" DateTime' :> (QueryParam "videoDefinition" SearchListVideoDefinition :> (QueryParam "videoDuration" SearchListVideoDuration :> (QueryParam "videoCaption" SearchListVideoCaption :> (QueryParam "videoLicense" SearchListVideoLicense :> (QueryParam "regionCode" Text :> (QueryParam "forDeveloper" Bool :> (QueryParam "location" Text :> (QueryParam "locationRadius" Text :> (QueryParam "forContentOwner" Bool :> (QueryParam "channelId" Text :> (QueryParam "q" Text :> (QueryParam "forMine" Bool :> (QueryParam "videoEmbeddable" SearchListVideoEmbeddable :> (QueryParam "eventType" SearchListEventType :> (QueryParam "onBehalfOfContentOwner" Text :> (QueryParam "videoCategoryId" Text :> (QueryParam "topicId" Text :> (QueryParam "safeSearch" SearchListSafeSearch :> (QueryParam "videoSyndicated" SearchListVideoSyndicated :> (QueryParam "relatedToVideoId" Text :> (QueryParam "pageToken" Text :> (QueryParam "type" Text :> (QueryParam "channelType" SearchListChannelType :> (QueryParam "relevanceLanguage" Text :> (QueryParam "order" SearchListOrder :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "publishedBefore" DateTime' :> (QueryParam "videoType" SearchListVideoType :> (QueryParam "videoDimension" SearchListVideoDimension :> (QueryParam "alt" AltJSON :> Get '[JSON] SearchListResponse)))))))))))))))))))))))))))))))))) Source #
A resource alias for youtube.search.list
method which the
SearchList
request conforms to.
Creating a Request
:: Text | |
-> SearchList |
Creates a value of SearchList
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
slPublishedAfter
slVideoDefinition
slPart
slVideoDuration
slVideoCaption
slVideoLicense
slRegionCode
slForDeveloper
slLocation
slLocationRadius
slForContentOwner
slChannelId
slQ
slForMine
slVideoEmbeddable
slEventType
slOnBehalfOfContentOwner
slVideoCategoryId
slTopicId
slSafeSearch
slVideoSyndicated
slRelatedToVideoId
slPageToken
slType
slChannelType
slRelevanceLanguage
slOrder
slMaxResults
slPublishedBefore
slVideoType
slVideoDimension
data SearchList Source #
Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
See: searchList
smart constructor.
Instances
Request Lenses
slPublishedAfter :: Lens' SearchList (Maybe UTCTime) Source #
The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
slVideoDefinition :: Lens' SearchList (Maybe SearchListVideoDefinition) Source #
The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available. If you specify a value for this parameter, you must also set the type parameter's value to video.
slPart :: Lens' SearchList Text Source #
The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet.
slVideoDuration :: Lens' SearchList (Maybe SearchListVideoDuration) Source #
The videoDuration parameter filters video search results based on their duration. If you specify a value for this parameter, you must also set the type parameter's value to video.
slVideoCaption :: Lens' SearchList (Maybe SearchListVideoCaption) Source #
The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions. If you specify a value for this parameter, you must also set the type parameter's value to video.
slVideoLicense :: Lens' SearchList (Maybe SearchListVideoLicense) Source #
The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos. If you specify a value for this parameter, you must also set the type parameter's value to video.
slRegionCode :: Lens' SearchList (Maybe Text) Source #
The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
slForDeveloper :: Lens' SearchList (Maybe Bool) Source #
The forDeveloper parameter restricts the search to only retrieve videos uploaded via the developer's application or website. The API server uses the request's authorization credentials to identify the developer. Therefore, a developer can restrict results to videos uploaded through the developer's own app or website but not to videos uploaded through other apps or sites.
slLocation :: Lens' SearchList (Maybe Text) Source #
The location parameter, in conjunction with the locationRadius parameter, defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. The parameter value is a string that specifies latitude/longitude coordinates e.g. (37.42307,-122.08427). - The location parameter value identifies the point at the center of the area. - The locationRadius parameter specifies the maximum distance that the location associated with a video can be from that point for the video to still be included in the search results.The API returns an error if your request specifies a value for the location parameter but does not also specify a value for the locationRadius parameter.
slLocationRadius :: Lens' SearchList (Maybe Text) Source #
The locationRadius parameter, in conjunction with the location parameter, defines a circular geographic area. The parameter value must be a floating point number followed by a measurement unit. Valid measurement units are m, km, ft, and mi. For example, valid parameter values include 1500m, 5km, 10000ft, and 0.75mi. The API does not support locationRadius parameter values larger than 1000 kilometers. Note: See the definition of the location parameter for more information.
slForContentOwner :: Lens' SearchList (Maybe Bool) Source #
Note: This parameter is intended exclusively for YouTube content partners. The forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated using a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
slChannelId :: Lens' SearchList (Maybe Text) Source #
The channelId parameter indicates that the API response should only contain resources created by the channel
slQ :: Lens' SearchList (Maybe Text) Source #
The q parameter specifies the query term to search for. Your request can also use the Boolean NOT (-) and OR (|) operators to exclude videos or to find videos that are associated with one of several search terms. For example, to search for videos matching either "boating" or "sailing", set the q parameter value to boating|sailing. Similarly, to search for videos matching either "boating" or "sailing" but not "fishing", set the q parameter value to boating|sailing -fishing. Note that the pipe character must be URL-escaped when it is sent in your API request. The URL-escaped value for the pipe character is %7C.
slForMine :: Lens' SearchList (Maybe Bool) Source #
The forMine parameter restricts the search to only retrieve videos owned by the authenticated user. If you set this parameter to true, then the type parameter's value must also be set to video.
slVideoEmbeddable :: Lens' SearchList (Maybe SearchListVideoEmbeddable) Source #
The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage. If you specify a value for this parameter, you must also set the type parameter's value to video.
slEventType :: Lens' SearchList (Maybe SearchListEventType) Source #
The eventType parameter restricts a search to broadcast events. If you specify a value for this parameter, you must also set the type parameter's value to video.
slOnBehalfOfContentOwner :: Lens' SearchList (Maybe Text) Source #
Note: This parameter is intended exclusively for YouTube content partners. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
slVideoCategoryId :: Lens' SearchList (Maybe Text) Source #
The videoCategoryId parameter filters video search results based on their category. If you specify a value for this parameter, you must also set the type parameter's value to video.
slTopicId :: Lens' SearchList (Maybe Text) Source #
The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.
slSafeSearch :: Lens' SearchList (Maybe SearchListSafeSearch) Source #
The safeSearch parameter indicates whether the search results should include restricted content as well as standard content.
slVideoSyndicated :: Lens' SearchList (Maybe SearchListVideoSyndicated) Source #
The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. If you specify a value for this parameter, you must also set the type parameter's value to video.
slRelatedToVideoId :: Lens' SearchList (Maybe Text) Source #
The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.
slPageToken :: Lens' SearchList (Maybe Text) Source #
The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
slType :: Lens' SearchList Text Source #
The type parameter restricts a search query to only retrieve a particular type of resource. The value is a comma-separated list of resource types.
slChannelType :: Lens' SearchList (Maybe SearchListChannelType) Source #
The channelType parameter lets you restrict a search to a particular type of channel.
slRelevanceLanguage :: Lens' SearchList (Maybe Text) Source #
The relevanceLanguage parameter instructs the API to return search results that are most relevant to the specified language. The parameter value is typically an ISO 639-1 two-letter language code. However, you should use the values zh-Hans for simplified Chinese and zh-Hant for traditional Chinese. Please note that results in other languages will still be returned if they are highly relevant to the search query term.
slOrder :: Lens' SearchList SearchListOrder Source #
The order parameter specifies the method that will be used to order resources in the API response.
slMaxResults :: Lens' SearchList Word32 Source #
The maxResults parameter specifies the maximum number of items that should be returned in the result set.
slPublishedBefore :: Lens' SearchList (Maybe UTCTime) Source #
The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
slVideoType :: Lens' SearchList (Maybe SearchListVideoType) Source #
The videoType parameter lets you restrict a search to a particular type of videos. If you specify a value for this parameter, you must also set the type parameter's value to video.
slVideoDimension :: Lens' SearchList (Maybe SearchListVideoDimension) Source #
The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos. If you specify a value for this parameter, you must also set the type parameter's value to video.