feedly

package
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2024 License: MIT Imports: 11 Imported by: 1

Documentation

Overview

Package feedly provides a Go client for the Feedly API.

For more information about the Feedly API, see the documentation: https://developer.feedly.com/

Authentication

By design, the feedly Client accepts any http.Client so OAuth2 requests can be made by using the appropriate authenticated client. Use the https://github.com/golang/oauth2 package to obtain an http.Client which transparently authorizes requests.

Usage

You use the library by creating a Client and invoking its methods. The client can be created manually with NewClient.

The below example illustrates how to:

- Fetch a persisted OAuth2 token from a file in JSON format.

- Create a feedly.Client.

- Retrieve a list of collections.

The example assumes you have a Feedly OAuth2 token persisted in a file in JSON format such as the following file.

{
  "access_token": "<AccessToken>",
  "token_type": "Bearer",
  "refresh_token": "<RefreshToken>",
  "expiry": "2020-01-31T23:59:59.9999999-04:00"
}

You can easily obtain a Feedly developer token by following the instructions: https://developer.feedly.com/v3/developer/

package main

import (
	"context"
	"encoding/json"
	"flag"
	"fmt"
	"io/ioutil"

	"github.com/sfanous/go-feedly/feedly"
	"golang.org/x/oauth2"
)

var filename string

func fetchToken() (*oauth2.Token, error) {
	b, err := ioutil.ReadFile(filename)
	if err != nil {
		return nil, err
	}

	oauth2Token := oauth2.Token{}

	if err := json.Unmarshal(b, &oauth2Token); err != nil {
		return nil, err
	}

	return &oauth2Token, nil
}

func main() {
	flag.StringVar(&filename, "file", "", "token persistent store path")
	flag.Parse()

	oauth2Token, err := fetchToken()
	if err != nil {
		fmt.Printf("Failed to fetch OAuth2 token: %v", err)

		return
	}

	f := feedly.NewClient(oauth2.NewClient(context.Background(), oauth2.StaticTokenSource(oauth2Token)))

	listResponse, _, err := f.Collections.List(nil)
	if err != nil {
		fmt.Printf("Failed to list Collections: %v", err)

		return
	}

	b, err := json.MarshalIndent(listResponse, "", "    ")
	if err != nil {
		fmt.Printf("Failed to marshal listResponse: %v", err)
	}

	fmt.Println(string(b))
}

Index

Examples

Constants

View Source
const (
	// APIBaseURL is the base URL for the Feedly API.
	APIBaseURL = "https://cloud.feedly.com"
	// APIBaseVersion is the base version for the Feedly API.
	APIBaseVersion = "v3"
)

Variables

This section is empty.

Functions

func NewBool

func NewBool(b bool) *bool

NewBool returns a pointer to the b bool.

func NewInt

func NewInt(i int) *int

NewInt returns a pointer to the i int.

func NewString

func NewString(s string) *string

NewString returns a pointer to the s string.

func WithAPIBaseURL

func WithAPIBaseURL(apiBaseURL string) func(*Client)

WithAPIBaseURL returns a function that initializes a Client with an API base URL.

func WithAPIBaseVersion

func WithAPIBaseVersion(apiBaseVersion string) func(*Client)

WithAPIBaseVersion returns a function that initializes a Client with an API version.

Types

type APIError

type APIError struct {
	ErrorID      string `json:"errorId"`
	ErrorMessage string `json:"errorMessage"`
}

APIError represents a Feedly API Error response. https://developer.feedly.com/cloud/#client-errors

func (APIError) Error

func (e APIError) Error() string

Error returns the string representation of an APIError.

type Board

type Board struct {
	Cover          *string                `json:"cover,omitempty"`
	Created        *time.Time             `json:"created,omitempty"`
	Customizable   *bool                  `json:"customizable,omitempty"`
	Description    *string                `json:"description,omitempty"`
	Enterprise     *bool                  `json:"enterprise,omitempty"`
	HTMLURL        *string                `json:"htmlUrl,omitempty"`
	ID             *string                `json:"id,omitempty"`
	IsPublic       *bool                  `json:"isPublic,omitempty"`
	Label          *string                `json:"label,omitempty"`
	ShowHighlights *bool                  `json:"showHighlights,omitempty"`
	ShowNotes      *bool                  `json:"showNotes,omitempty"`
	StreamID       *string                `json:"streamId,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

Board is a Feedly board.

type BoardCreateOptionalParams

type BoardCreateOptionalParams struct {
	Description    *string `json:"description,omitempty"`
	ID             *string `json:"id,omitempty"`
	IsPublic       *bool   `json:"isPublic,omitempty"`
	ShowHighlights *bool   `json:"showHighlights,omitempty"`
	ShowNotes      *bool   `json:"showNotes,omitempty"`
}

BoardCreateOptionalParams are the optional parameters for BoardService.Create.

type BoardCreateResponse

type BoardCreateResponse struct {
	Boards         []Board                `json:"boards"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

BoardCreateResponse represents the response from BoardService.Create.

type BoardDetailResponse added in v0.2.0

type BoardDetailResponse struct {
	Boards         []Board                `json:"boards"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

BoardDetailResponse represents the response from BoardService.Details.

type BoardListOptionalParams

type BoardListOptionalParams struct {
	WithEnterprise *bool `url:"withEnterprise,omitempty"`
}

BoardListOptionalParams are the optional parameters for BoardService.List.

type BoardListResponse

type BoardListResponse struct {
	Boards         []Board                `json:"boards"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

BoardListResponse represents the response from BoardService.List.

type BoardService

type BoardService struct {
	// contains filtered or unexported fields
}

BoardService provides methods for managing personal boards, aka tags.

func (*BoardService) AddEntry

func (s *BoardService) AddEntry(BoardIDs []string, entryID string) (*http.Response, error)

AddEntry adds one entry to one or more existing boards.

func (*BoardService) AddMultipleEntries added in v0.2.0

func (s *BoardService) AddMultipleEntries(BoardIDs []string, entryIDs []string) (*http.Response, error)

AddMultipleEntries adds one or more entries to one or more existing boards.

func (*BoardService) Create

func (s *BoardService) Create(label string, optionalParams *BoardCreateOptionalParams) (*BoardCreateResponse, *http.Response, error)

Create creates a new board.

func (*BoardService) Delete

func (s *BoardService) Delete(boardIDs []string) (*http.Response, error)

Delete deletes one or more existing boards.

func (*BoardService) DeleteEntry added in v0.2.0

func (s *BoardService) DeleteEntry(BoardIDs []string, entryID string) (*http.Response, error)

DeleteEntry deletes one entry from one or more existing boards.

func (*BoardService) DeleteMultipleEntries added in v0.2.0

func (s *BoardService) DeleteMultipleEntries(BoardIDs []string, entryIDs []string) (*http.Response, error)

DeleteMultipleEntries deletes one or more entries from one or more existing boards.

func (*BoardService) Details added in v0.2.0

func (s *BoardService) Details(boardID string) (*BoardDetailResponse, *http.Response, error)

Details returns details about a board.

func (*BoardService) List

List returns the list of boards.

func (*BoardService) Update

func (s *BoardService) Update(boardID string, optionalParams *BoardUpdateOptionalParams) (*BoardUpdateResponse, *http.Response, error)

Update updates an existing board.

func (*BoardService) UploadCoverImage

func (s *BoardService) UploadCoverImage(boardID string, coverImage io.Reader) (*BoardUploadCoverImageResponse, *http.Response, error)

UploadCoverImage uploads a new cover image for an existing board.

type BoardUpdateOptionalParams

type BoardUpdateOptionalParams struct {
	DeleteCover    *bool   `json:"deleteCover,omitempty"`
	Description    *string `json:"description,omitempty"`
	IsPublic       *bool   `json:"isPublic,omitempty"`
	Label          *string `json:"label,omitempty"`
	ShowHighlights *bool   `json:"showHighlights,omitempty"`
	ShowNotes      *bool   `json:"showNotes,omitempty"`
}

BoardUpdateOptionalParams are the optional parameters for BoardService.Update.

type BoardUpdateResponse

type BoardUpdateResponse struct {
	Boards         []Board                `json:"boards"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

BoardUpdateResponse represents the response from BoardService.Update.

type BoardUploadCoverImageResponse

type BoardUploadCoverImageResponse struct {
	Boards         []Board                `json:"boards"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

BoardUploadCoverImageResponse represents the response from BoardService.UploadCoverImage.

type Body

type Body struct {
	Outlines []Outline `xml:"outline"`
}

Body describes the body element in the opml element of OPML.

type Client

type Client struct {

	// Feedly API Services
	Boards          *BoardService
	Collections     *CollectionService
	Entries         *EntryService
	Feeds           *FeedService
	Library         *LibraryService
	Markers         *MarkerService
	Mixes           *MixService
	OPML            *OPMLService
	Preferences     *PreferenceService
	Profile         *ProfileService
	Recommendations *RecommendationService
	Search          *SearchService
	Streams         *StreamService
	// contains filtered or unexported fields
}

A Client is a Feedly API client. Its zero value is not a usable Feedly client.

func NewClient

func NewClient(httpClient *http.Client, optionalParameters ...func(*Client)) *Client

NewClient returns a new Client.

Example (Sandbox)
package main

import (
	"context"
	"encoding/json"
	"fmt"

	"github.com/sfanous/go-feedly/feedly"
	"golang.org/x/oauth2"
)

func main() {
	// Replace with a valid Feedly Sandbox OAuth2 Access Token
	oauth2AccessToken := ""
	oauth2Token := (*oauth2.Token)(nil)

	if err := json.Unmarshal([]byte(`{"access_token": "`+oauth2AccessToken+`","token_type": "Bearer"}`), &oauth2Token); err != nil {
		fmt.Printf("%v\n", err)

		return
	}

	client := feedly.NewClient(oauth2.NewClient(context.Background(), oauth2.StaticTokenSource(oauth2Token)), feedly.WithAPIBaseURL("https://sandbox7.feedly.com"))

	profileListResponse, _, err := client.Profile.List()
	if err != nil {
		fmt.Printf("%v\n", err)

		return
	}

	fmt.Println(*profileListResponse.Profile.ID)
}
Output:

type Collection

type Collection struct {
	ACL []struct {
		Scope          *string                `json:"scope,omitempty"`
		Target         *string                `json:"target,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	}
	Cover          *string                `json:"cover,omitempty"`
	Created        *time.Time             `json:"created,omitempty"`
	Customizable   *bool                  `json:"customizable,omitempty"`
	Description    *string                `json:"description,omitempty"`
	Engagement     *int                   `json:"engagement,omitempty"`
	Enterprise     *bool                  `json:"enterprise,omitempty"`
	Feeds          []Feed                 `json:"feeds,omitempty"`
	ID             *string                `json:"id,omitempty"`
	Label          *string                `json:"label,omitempty"`
	NumFeeds       *int                   `json:"numFeeds,omitempty"`
	Topics         []string               `json:"topics,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

Collection is a Feedly collection.

type CollectionAddFeedResponse

type CollectionAddFeedResponse struct {
	Feeds          []Feed                 `json:"feeds"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionAddFeedResponse represents the response from CollectionService.AddFeed.

type CollectionAddMultipleFeedsResponse

type CollectionAddMultipleFeedsResponse struct {
	Feeds          []Feed                 `json:"feeds"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionAddMultipleFeedsResponse represents the response from CollectionService.AddMultipleFeeds.

type CollectionCreateOptionalParams

type CollectionCreateOptionalParams struct {
	Description *string `json:"description,omitempty"`
	Feeds       []Feed  `json:"feeds,omitempty"`
	ID          *string `json:"id,omitempty"`
}

CollectionCreateOptionalParams are the optional parameters for CollectionService.Create.

type CollectionCreateResponse

type CollectionCreateResponse struct {
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionCreateResponse represents the response from CollectionService.Create.

type CollectionDeleteFeedOptionalParams

type CollectionDeleteFeedOptionalParams struct {
	KeepOrphanFeeds *bool `url:"keepOrphanFeeds,omitempty"`
}

CollectionDeleteFeedOptionalParams are the optional parameters for CollectionService.DeleteFeed.

type CollectionDeleteMultipleFeedsOptionalParams

type CollectionDeleteMultipleFeedsOptionalParams CollectionDeleteFeedOptionalParams

CollectionDeleteMultipleFeedsOptionalParams are the optional parameters for CollectionService.DeleteMultipleFeeds.

type CollectionDetailResponse

type CollectionDetailResponse struct {
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionDetailResponse represents the response from CollectionService.Details.

type CollectionListOptionalParams

type CollectionListOptionalParams struct {
	WithEnterprise *bool `url:"withEnterprise,omitempty"`
	WithStats      *bool `url:"withStats,omitempty"`
}

CollectionListOptionalParams are the optional parameters for CollectionService.List.

type CollectionListResponse

type CollectionListResponse struct {
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionListResponse represents the response from CollectionService.List.

type CollectionService

type CollectionService struct {
	// contains filtered or unexported fields
}

CollectionService provides methods for managing collections of feed subscriptions, aka categories.

func (*CollectionService) AddFeed

func (s *CollectionService) AddFeed(collectionID string, feed *Feed) (*CollectionAddFeedResponse, *http.Response, error)

AddFeed adds a feed to an existing collection.

func (*CollectionService) AddMultipleFeeds

func (s *CollectionService) AddMultipleFeeds(collectionID string, feeds []Feed) (*CollectionAddMultipleFeedsResponse, *http.Response, error)

AddMultipleFeeds adds a one or more feeds to an existing collection.

func (*CollectionService) Create

Create creates a new collection.

func (*CollectionService) Delete

func (s *CollectionService) Delete(collectionID string) (*http.Response, error)

Delete deletes an existing collection.

func (*CollectionService) DeleteFeed

func (s *CollectionService) DeleteFeed(collectionID string, feedID string, optionalParams *CollectionDeleteFeedOptionalParams) (*http.Response, error)

DeleteFeed deletes a feed from an existing collection.

func (*CollectionService) DeleteMultipleFeeds

func (s *CollectionService) DeleteMultipleFeeds(collectionID string, feedIDs []string, optionalParams *CollectionDeleteFeedOptionalParams) (*http.Response, error)

DeleteMultipleFeeds deletes one or more feeds from an existing collection.

func (*CollectionService) Details

func (s *CollectionService) Details(collectionID string) (*CollectionDetailResponse, *http.Response, error)

Details returns details about a collection.

func (*CollectionService) List

List returns the list of collections.

func (*CollectionService) Update

Update updates an existing collection.

func (*CollectionService) UploadCoverImage

func (s *CollectionService) UploadCoverImage(collectionID string, coverImage io.Reader) (*CollectionUploadCoverImageResponse, *http.Response, error)

UploadCoverImage uploads a new cover image for an existing collection.

type CollectionUpdateOptionalParams

type CollectionUpdateOptionalParams struct {
	DeleteCover *bool   `json:"deleteCover,omitempty"`
	Description *string `json:"description,omitempty"`
	Feeds       []Feed  `json:"feeds,omitempty"`
	Label       *string `json:"label,omitempty"`
}

CollectionUpdateOptionalParams are the optional parameters for CollectionService.Update.

type CollectionUpdateResponse

type CollectionUpdateResponse struct {
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionUpdateResponse represents the response from CollectionService.Update.

type CollectionUploadCoverImageResponse

type CollectionUploadCoverImageResponse struct {
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

CollectionUploadCoverImageResponse represents the response from CollectionService.UploadCoverImage.

type ContentRank

type ContentRank string
const (
	Engagement ContentRank = "EngagementFilter"
	Newest     ContentRank = "newest"
	Oldest     ContentRank = "oldest"
)

func NewContentRank

func NewContentRank(r ContentRank) *ContentRank

NewContentRank returns a pointer to the r ContentRank.

type Cover

type Cover struct {
	About           *string                `json:"about,omitempty"`
	Alias           *string                `json:"alias,omitempty"`
	BackgroundImage *string                `json:"backgroundImage,omitempty"`
	FullName        *string                `json:"fullName,omitempty"`
	LinkedIn        *string                `json:"linkedIn,omitempty"`
	Picture         *string                `json:"picture,omitempty"`
	Twitter         *string                `json:"twitter,omitempty"`
	UnmappedFields  map[string]interface{} `json:"-" mapstructure:",remain"`
}

Cover is a Feedly library cover.

type EmbeddedFilter

type EmbeddedFilter string
const (
	Any   EmbeddedFilter = "any"
	Audio EmbeddedFilter = "audio"
	Doc   EmbeddedFilter = "doc"
	Video EmbeddedFilter = "video"
)

func NewEmbeddedFilter

func NewEmbeddedFilter(e EmbeddedFilter) *EmbeddedFilter

NewEmbeddedFilter returns a pointer to the e EmbeddedFilter.

type EngagementFilter

type EngagementFilter string
const (
	High   EngagementFilter = "high"
	Medium EngagementFilter = "medium"
)

func NewEngagementFilter

func NewEngagementFilter(e EngagementFilter) *EngagementFilter

NewEngagementFilter returns a pointer to the e EngagementFilter.

type Entry

type Entry struct {
	ActionTimestamp *time.Time `json:"actionTimestamp,omitempty"`
	Alternate       []struct {
		HRef           *string                `json:"href,omitempty"`
		Title          *string                `json:"title,omitempty"`
		Type           *string                `json:"type,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"alternate,omitempty"`
	AMPURL                 *string `json:"ampUrl,omitempty"`
	AnalysisFeedbackPrompt *struct {
		Confidence     *float64               `json:"confidence,omitempty"`
		ID             *string                `json:"id,omitempty"`
		Label          *string                `json:"label,omitempty"`
		Type           *string                `json:"type,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"analysisFeedbackPrompt,omitempty"`
	Author        *string `json:"author,omitempty"`
	AuthorDetails *struct {
		Source         *string                `json:"source,omitempty"`
		URL            *string                `json:"url,omitempty"`
		Username       *string                `json:"username,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"authorDetails,omitempty"`
	CDNAmpURL *string `json:"cdnAmpUrl,omitempty"`
	Canonical []struct {
		HRef           *string                `json:"href,omitempty"`
		Title          *string                `json:"title,omitempty"`
		Type           *string                `json:"type,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"canonical,omitempty"`
	CanonicalURL *string      `json:"canonicalUrl,omitempty"`
	Categories   []Collection `json:"categories,omitempty"`
	CommonTopics []struct {
		ID             *string                `json:"id,omitempty"`
		Label          *string                `json:"label,omitempty"`
		SalienceLevel  *string                `json:"salienceLevel,omitempty"`
		Score          *float64               `json:"score,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"commonTopics,omitempty"`
	Content *struct {
		Content        *string                `json:"content,omitempty"`
		Direction      *string                `json:"direction,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"content,omitempty"`
	Crawled *time.Time `json:"crawled,omitempty"`
	Created *struct {
		Application    *string                `json:"application,omitempty"`
		UserAgent      *string                `json:"userAgent,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"created,omitempty"`
	CreatedBy *struct {
		Application    *string                `json:"application,omitempty"`
		Client         *string                `json:"client,omitempty"`
		UserAgent      *string                `json:"userAgent,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"createdBy,omitempty"`
	Enclosure []struct {
		HRef           *string                `json:"href,omitempty"`
		Height         *int                   `json:"height,omitempty"`
		Length         *int                   `json:"Length,omitempty"`
		Title          *string                `json:"title,omitempty"`
		Type           *string                `json:"type,omitempty"`
		Width          *int                   `json:"width,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"enclosure,omitempty"`
	Engagement     *int     `json:"EngagementFilter,omitempty"`
	EngagementRate *float64 `json:"engagementRate,omitempty"`
	Entities       []struct {
		ID       *string `json:"id,omitempty"`
		Label    *string `json:"label,omitempty"`
		Mentions []struct {
			Text           *string                `json:"text,omitempty"`
			UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
		} `json:"mentions,omitempty"`
		SalienceLevel  *string                `json:"salienceLevel,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"entities,omitempty"`
	Fingerprint *string  `json:"fingerprint,omitempty"`
	ID          *string  `json:"id,omitempty"`
	Keywords    []string `json:"keywords,omitempty"`
	Language    *string  `json:"language,omitempty"`
	Memes       []struct {
		Featured       *bool                  `json:"featured,omitempty"`
		ID             *string                `json:"id,omitempty"`
		Label          *string                `json:"label,omitempty"`
		Score          *float64               `json:"score,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"memes,omitempty"`
	Origin *struct {
		HTMLURL        *string                `json:"htmlUrl,omitempty"`
		StreamID       *string                `json:"streamId,omitempty"`
		Title          *string                `json:"title,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"origin,omitempty"`
	OriginID    *string                  `json:"originId,omitempty"`
	Priorities  []map[string]interface{} `json:"priorities,omitempty"`
	Published   *time.Time               `json:"published,omitempty"`
	Recrawled   *time.Time               `json:"recrawled,omitempty"`
	SID         *string                  `json:"sid,omitempty"`
	SearchTerms *struct {
		IsComplexFilter *bool                  `json:"isComplexFilter,omitempty"`
		Parts           []string               `json:"parts,omitempty"`
		UnmappedFields  map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"searchTerms,omitempty"`
	Summary *struct {
		Content        *string                `json:"content,omitempty"`
		Direction      *string                `json:"direction,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"summary,omitempty"`
	Tags      []Board `json:"tags,omitempty"`
	Thumbnail []struct {
		Height         *int                   `json:"height,omitempty"`
		URL            *string                `json:"url,omitempty"`
		Width          *int                   `json:"width,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"thumbnail,omitempty"`
	Title       *string    `json:"title,omitempty"`
	Unread      *bool      `json:"unread,omitempty"`
	UpdateCount *int       `json:"updateCount,omitempty"`
	Updated     *time.Time `json:"updated,omitempty"`
	Visual      *struct {
		ContentType    *string                `json:"contentType,omitempty"`
		EdgeCacheURL   *string                `json:"edgeCacheUrl,omitempty"`
		ExpirationDate *time.Time             `json:"expirationDate,omitempty"`
		Height         *int                   `json:"height,omitempty"`
		Processor      *string                `json:"processor,omitempty"`
		URL            *string                `json:"url,omitempty"`
		Width          *int                   `json:"width,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"visual,omitempty"`
	Webfeeds *struct {
		AccentColor     *string                `json:"accentColor,omitempty"`
		ADPlatform      *string                `json:"adPlatform,omitempty"`
		ADPosition      *string                `json:"adPosition,omitempty"`
		ADSlotID        *string                `json:"adSlotId,omitempty"`
		AnalyticsEngine *string                `json:"analyticsEngine,omitempty"`
		AnalyticsID     *string                `json:"analyticsId,omitempty"`
		CoverImage      *string                `json:"coverImage,omitempty"`
		Icon            *string                `json:"icon,omitempty"`
		Logo            *string                `json:"logo,omitempty"`
		Partial         *bool                  `json:"partial,omitempty"`
		Promotion       []string               `json:"promotion,omitempty"`
		RelatedLayout   *string                `json:"relatedLayout,omitempty"`
		RelatedTarget   *string                `json:"relatedTarget,omitempty"`
		Wordmark        *string                `json:"wordmark,omitempty"`
		UnmappedFields  map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"webfeeds,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

Entry is a Feedly entry.

type EntryContentResponse

type EntryContentResponse struct {
	Entries        []Entry                `json:"entries"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

EntryContentResponse represents the response from EntryService.Content.

type EntryCreateResponse

type EntryCreateResponse struct {
	EntryIDs       []string               `json:"entryIds"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

EntryCreateResponse represents the response from EntryService.Create.

type EntryMultipleContentResponse

type EntryMultipleContentResponse struct {
	Entries        []Entry                `json:"entries"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

EntryMultipleContentResponse represents the response from EntryService.MultipleContent.

type EntryService

type EntryService struct {
	// contains filtered or unexported fields
}

EntryService provides methods for managing entries.

func (*EntryService) Content

func (s *EntryService) Content(entryID string) (*EntryContentResponse, *http.Response, error)

Content returns the content of an entry.

func (*EntryService) Create

func (s *EntryService) Create(entry *Entry) (*EntryCreateResponse, *http.Response, error)

Create creates and tags an entry.

func (*EntryService) MultipleContent

func (s *EntryService) MultipleContent(entryIDs []string) (*EntryMultipleContentResponse, *http.Response, error)

MultipleContent returns the content for one or more entries.

type Feed

type Feed struct {
	AdPlatform                  *string                `json:"adPlatform,omitempty"`
	AdPosition                  *string                `json:"adPosition,omitempty"`
	AdSlotID                    *string                `json:"adSlotId,omitempty"`
	AccentColor                 *string                `json:"accentColor,omitempty"`
	Added                       *time.Time             `json:"added,omitempty"`
	AnalyticsEngine             *string                `json:"analyticsEngine,omitempty"`
	AnalyticsID                 *string                `json:"analyticsId,omitempty"`
	AverageReadTime             *float64               `json:"averageReadTime,omitempty"`
	ContentType                 *string                `json:"contentType,omitempty"`
	CoverColor                  *string                `json:"coverColor,omitempty"`
	CoverURL                    *string                `json:"coverUrl,omitempty"`
	Coverage                    *float64               `json:"coverage,omitempty"`
	CoverageScore               *float64               `json:"coverageScore,omitempty"`
	Curated                     *bool                  `json:"curated,omitempty"`
	DeliciousTags               []string               `json:"deliciousTags,omitempty"`
	Description                 *string                `json:"description,omitempty"`
	EstimatedEngagement         *int                   `json:"estimatedEngagement,omitempty"`
	Featured                    *bool                  `json:"featured,omitempty"`
	FeedID                      *string                `json:"feedId,omitempty"`
	IconURL                     *string                `json:"iconUrl,omitempty"`
	ID                          *string                `json:"id,omitempty"`
	Language                    *string                `json:"language,omitempty"`
	LastUpdated                 *time.Time             `json:"lastUpdated,omitempty"`
	LeoScore                    *float64               `json:"leoScore,omitempty"`
	MustRead                    *bool                  `json:"mustRead,omitempty"`
	NumLongReadEntriesPastMonth *int                   `json:"numLongReadEntriesPastMonth,omitempty"`
	NumReadEntriesPastMonth     *int                   `json:"numReadEntriesPastMonth,omitempty"`
	NumTaggedEntriesPastMonth   *int                   `json:"numTaggedEntriesPastMonth,omitempty"`
	Partial                     *bool                  `json:"Partial,omitempty"`
	Promotion                   []string               `json:"promotion,omitempty"`
	RelatedLayout               *string                `json:"relatedLayout,omitempty"`
	RelatedTarget               *string                `json:"relatedTarget,omitempty"`
	RelevanceScore              *float64               `json:"relevanceScore,omitempty"`
	Score                       *int                   `json:"score,omitempty"`
	Sponsored                   *bool                  `json:"sponsored,omitempty"`
	State                       *string                `json:"state,omitempty"`
	Subscribers                 *int                   `json:"subscribers,omitempty"`
	TagCounts                   map[string]int         `json:"tagCounts,omitempty"`
	Title                       *string                `json:"title,omitempty"`
	Topics                      []string               `json:"topics,omitempty"`
	TotalReadingTimePastMonth   *int                   `json:"totalReadingTimePastMonth,omitempty"`
	TotalTagCount               *int                   `json:"totalTagCount,omitempty"`
	TwitterFollowers            *int                   `json:"twitterFollowers,omitempty"`
	TwitterScreenName           *string                `json:"twitterScreenName,omitempty"`
	Updated                     *time.Time             `json:"updated,omitempty"`
	Velocity                    *float64               `json:"velocity,omitempty"`
	VisualURL                   *string                `json:"visualUrl,omitempty"`
	Website                     *string                `json:"website,omitempty"`
	WebsiteTitle                *string                `json:"websiteTitle,omitempty"`
	Wordmark                    *string                `json:"wordmark,omitempty"`
	UnmappedFields              map[string]interface{} `json:"-" mapstructure:",remain"`
}

Feed is a Feedly feed.

type FeedMetadataResponse

type FeedMetadataResponse struct {
	Feed           *Feed                  `json:"feed"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

FeedMetadataResponse represents the response from FeedService.Metadata.

type FeedMultipleMetadataResponse

type FeedMultipleMetadataResponse struct {
	Feeds          []Feed                 `json:"feeds"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

FeedMultipleMetadataResponse represents the response from FeedService.MultipleMetadata.

type FeedService

type FeedService struct {
	// contains filtered or unexported fields
}

FeedService provides methods for managing feeds.

func (*FeedService) Metadata

func (s *FeedService) Metadata(feedID string) (*FeedMetadataResponse, *http.Response, error)

Metadata returns the metadata for a single feed.

func (*FeedService) MultipleMetadata

func (s *FeedService) MultipleMetadata(feedIDs []string) (*FeedMultipleMetadataResponse, *http.Response, error)

MultipleMetadata returns the metadata for a list of feeds.

type FieldFilter

type FieldFilter struct {
	All      bool
	Author   bool
	Keywords bool
	Title    bool
}

func (*FieldFilter) EncodeValues

func (f *FieldFilter) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface.

type Head struct {
	Title           *string `xml:"title,omitempty"`
	DateCreated     *string `xml:"dateCreated,omitempty"`
	DateModified    *string `xml:"dateModified,omitempty"`
	OwnerName       *string `xml:"ownerName,omitempty"`
	OwnerEmail      *string `xml:"ownerEmail,omitempty"`
	OwnerID         *string `xml:"ownerId,omitempty"`
	Docs            *string `xml:"docs,omitempty"`
	ExpansionState  *string `xml:"expansionState,omitempty"`
	VertScrollState *string `xml:"vertScrollState,omitempty"`
	WindowTop       *string `xml:"windowTop,omitempty"`
	WindowBottom    *string `xml:"windowBottom,omitempty"`
	WindowLeft      *string `xml:"windowLeft,omitempty"`
	WindowRight     *string `xml:"windowRight,omitempty"`
}

Head describes the head element in the opml element of OPML.

type Library

type Library struct {
	Collections    []Collection           `json:"collections,omitempty"`
	Cover          *Cover                 `json:"cover,omitempty"`
	Tags           []Board                `json:"tags,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

Library is a Feedly library.

type LibraryAliasAvailableResponse

type LibraryAliasAvailableResponse struct {
	Available      *bool                  `json:"available,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryAliasAvailableResponse represents the response from LibraryService.AliasAvailable.

type LibraryCoverResponse

type LibraryCoverResponse struct {
	Cover          *Cover                 `json:"cover"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryCoverResponse represents the response from LibraryService.Cover.

type LibraryDetailsResponse

type LibraryDetailsResponse struct {
	Library        *Library               `json:"library"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryDetailsResponse represents the response from LibraryService.Details.

type LibraryLeoIndustriesResponse added in v0.3.1

type LibraryLeoIndustriesResponse struct {
	Cover          *Cover                 `json:"cover"`
	Collections    []Collection           `json:"collections"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryLeoIndustriesResponse represents the response from LibraryService.LeoIndustries.

type LibraryListSharedResourcesResponse

type LibraryListSharedResourcesResponse struct {
	SharedResources map[string]struct {
		Scope          *string                `json:"scope,omitempty"`
		Target         *string                `json:"target,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"sharedResources,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryListSharedResourcesResponse represents the response from LibraryService.ListSharedResources.

type LibraryService

type LibraryService struct {
	// contains filtered or unexported fields
}

LibraryService provides methods for managing a user's public library.

func (*LibraryService) AliasAvailable

func (s *LibraryService) AliasAvailable(alias string) (*LibraryAliasAvailableResponse, *http.Response, error)

AliasAvailable checks if an alias is available to be used.

func (*LibraryService) Cover

Cover returns the library cover.

func (*LibraryService) Delete

func (s *LibraryService) Delete() (*http.Response, error)

Delete deletes a library.

func (*LibraryService) Details

Details returns the library details.

func (*LibraryService) LeoIndustries added in v0.3.1

LeoIndustries returns the Leo industries.

func (*LibraryService) ListSharedResources

func (s *LibraryService) ListSharedResources() (*LibraryListSharedResourcesResponse, *http.Response, error)

ListSharedResources returns the list of shared resources.

func (*LibraryService) ShareResource

func (s *LibraryService) ShareResource(collectionID string) (*http.Response, error)

ShareResource shares a resource.

func (*LibraryService) UnshareResource

func (s *LibraryService) UnshareResource(collectionID string) (*http.Response, error)

UnshareResource unshares a resource.

func (*LibraryService) UpdateCover

func (s *LibraryService) UpdateCover(cover *Cover) (*LibraryUpdateCoverResponse, *http.Response, error)

UpdateCover updates the library cover.

type LibraryUpdateCoverResponse

type LibraryUpdateCoverResponse struct {
	Cover          *Cover                 `json:"cover"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

LibraryUpdateCoverResponse represents the response from LibraryService.UpdateCover.

type MarkAction

type MarkAction string
const (
	KeepUnread     MarkAction = "keepUnread"
	MarkAsRead     MarkAction = "markAsRead"
	MarkAsSaved    MarkAction = "markAsSaved"
	MarkAsUnsaved  MarkAction = "markAsUnsaved"
	UndoMarkAsRead MarkAction = "undoMarkAsRead"
)

type MarkType

type MarkType string
const (
	Collections MarkType = "categories"
	Entries     MarkType = "entries"
	Feeds       MarkType = "feeds"
	Tags        MarkType = "tags"
)

type MarkerLatestReadOptionalParams

type MarkerLatestReadOptionalParams struct {
	NewerThan *time.Time `url:"newerThan,omitempty"`
}

MarkerLatestReadOptionalParams are the optional parameters for MarkerService.LatestRead.

type MarkerLatestReadResponse

type MarkerLatestReadResponse struct {
	Entries []string `json:"entries,omitempty"`
	Feeds   []struct {
		AsOf *time.Time `json:"asOf,omitempty"`
		ID   *string    `json:"id,omitempty"`
	} `json:"feeds,omitempty"`
	Unread         []string               `json:"unread,omitempty"`
	Updated        *time.Time             `json:"updated,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

MarkerLatestReadResponse represents the response from MarkerService.LatestRead.

type MarkerLatestTaggedOptionalParams

type MarkerLatestTaggedOptionalParams struct {
	NewerThan *time.Time `url:"newerThan,omitempty"`
}

MarkerLatestTaggedOptionalParams are the optional parameters for MarkerService.LatestTagged.

type MarkerLatestTaggedResponse

type MarkerLatestTaggedResponse struct {
	TaggedEntries  map[string][]string    `json:"taggedEntries,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

MarkerLatestTaggedResponse represents the response from MarkerService.LatestTagged.

type MarkerMarkOptionalParams

type MarkerMarkOptionalParams struct {
	AsOf            *time.Time `json:"asOf,omitempty"`
	CollectionIDs   []string   `json:"categoryIds,omitempty"`
	EntryIDs        []string   `json:"entryIds,omitempty"`
	FeedIDs         []string   `json:"feedIds,omitempty"`
	LastReadEntryID *string    `json:"lastReadEntryId,omitempty"`
	TagIDs          []string   `json:"tagIds,omitempty"`
}

MarkerMarkOptionalParams are the optional parameters for MarkerService.Mark.

type MarkerService

type MarkerService struct {
	// contains filtered or unexported fields
}

MarkerService provides methods for managing markers.

func (*MarkerService) LatestRead

LatestRead returns the latest read operations.

func (*MarkerService) LatestTagged

LatestTagged returns latest tagged entry ids.

func (*MarkerService) Mark

func (s *MarkerService) Mark(markAction MarkAction, markType MarkType, optionalParams *MarkerMarkOptionalParams) (*http.Response, error)

Mark marks one or more collections, entries, feeds, or tags as read, saved, or unread.

func (*MarkerService) UnreadCounts

UnreadCounts returns the list of unread counts.

type MarkerUnreadCountsOptionalParams

type MarkerUnreadCountsOptionalParams struct {
	AutoRefresh *bool      `url:"autorefresh,omitempty"`
	NewerThan   *time.Time `url:"newerThan,omitempty"`
	StreamID    *string    `url:"streamId,omitempty"`
}

MarkerUnreadCountsOptionalParams are the optional parameters for MarkerService.UnreadCounts.

type MarkerUnreadCountsResponse

type MarkerUnreadCountsResponse struct {
	UnreadCounts []struct {
		ID             *string                `json:"id,omitempty"`
		Count          *int                   `json:"count,omitempty"`
		Updated        *time.Time             `json:"updated,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"unreadcounts,omitempty"`
	Updated        *time.Time             `json:"updated,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

MarkerUnreadCountsResponse represents the response from MarkerService.UnreadCounts.

type MixMostEngagingOptionalParams added in v0.2.0

type MixMostEngagingOptionalParams struct {
	Backfill   *bool      `url:"backfill,omitempty"`
	Count      *int       `url:"count,omitempty"`
	Hours      *int       `url:"hours,omitempty"`
	Locale     *string    `url:"locale,omitempty"`
	NewerThan  *time.Time `url:"newerThan,omitempty"`
	UnreadOnly *bool      `url:"unreadOnly,omitempty"`
}

MixMostEngagingOptionalParams are the optional parameters for MixService.MostEngaging.

type MixMostEngagingResponse

type MixMostEngagingResponse struct {
	Stream         *Stream                `json:"stream"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

MixMostEngagingResponse represents the response from MixService.MostEngaging.

type MixService

type MixService struct {
	// contains filtered or unexported fields
}

MixService provides methods for managing mixes.

func (*MixService) MostEngaging

func (s *MixService) MostEngaging(streamID string, optionalParams *MixMostEngagingOptionalParams) (*MixMostEngagingResponse, *http.Response, error)

MostEngaging returns a mix of the most engaging content available in a stream.

type OPML

type OPML struct {
	XMLName *xml.Name `xml:"opml,omitempty"`
	Version *string   `xml:"version,attr,omitempty"`
	Head    *Head     `xml:"head,omitempty"`
	Body    *Body     `xml:"body,omitempty"`
}

OPML describes the OPML format for storing outlines in XML 1.0 called Outline Processor Markup Language.

type OPMLExportResponse

type OPMLExportResponse struct {
	OPML *OPML `json:"opml"`
}

OPMLExportResponse represents the response from OPMLService.Export.

type OPMLService

type OPMLService struct {
	// contains filtered or unexported fields
}

OPMLService provides methods for managing OPML files.

func (*OPMLService) Export

func (s *OPMLService) Export() (*OPMLExportResponse, *http.Response, error)

Export exports the user’s subscriptions.

func (*OPMLService) Import

func (s *OPMLService) Import(opml io.Reader) (*http.Response, error)

Import imports the user's subscriptions.

type Outline

type Outline struct {
	Outlines     []Outline `xml:"outline,omitempty"`
	Text         *string   `xml:"text,attr,omitempty"`
	Type         *string   `xml:"type,attr,omitempty"`
	IsComment    *string   `xml:"isComment,attr,omitempty"`
	IsBreakpoint *string   `xml:"isBreakpoint,attr,omitempty"`
	Created      *string   `xml:"created,attr,omitempty"`
	Category     *string   `xml:"category,attr,omitempty"`
	XMLURL       *string   `xml:"xmlUrl,attr,omitempty"`
	HTMLURL      *string   `xml:"htmlUrl,attr,omitempty"`
	URL          *string   `xml:"url,attr,omitempty"`
	Language     *string   `xml:"language,attr,omitempty"`
	Title        *string   `xml:"title,attr,omitempty"`
	Version      *string   `xml:"version,attr,omitempty"`
	Description  *string   `xml:"description,attr,omitempty"`
}

Outline describes the outline element in the body element of OPML.

type PreferenceListResponse

type PreferenceListResponse struct {
	Preferences    map[string]string      `json:"preferences"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

PreferenceListResponse represents the response from PreferenceService.List.

type PreferenceService

type PreferenceService struct {
	// contains filtered or unexported fields
}

PreferenceService provides methods for managing preferences.

func (*PreferenceService) List

List returns the application specific preferences.

func (*PreferenceService) Update

func (s *PreferenceService) Update(preferences map[string]string) (*http.Response, error)

Update update the preferences of the user.

type Profile

type Profile struct {
	AccountLimits *struct {
		MaxAlerts      *int                   `json:"maxAlerts,omitempty"`
		MaxEmailFeeds  *int                   `json:"maxEmailFeeds,omitempty"`
		MaxFeeds       *int                   `json:"maxFeeds,omitempty"`
		MaxLeoFeeds    *int                   `json:"maxLeoFeeds,omitempty"`
		MaxMuteFilters *int                   `json:"maxMuteFilters,omitempty"`
		MaxPriorities  *int                   `json:"maxPriorities,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	}
	AnonymizedHash      *string    `json:"anonymizedHash,omitempty"`
	AppleConnected      *bool      `json:"appleConnected,omitempty"`
	Client              *string    `json:"client,omitempty"`
	CohortGroups        []string   `json:"cohortGroups,omitempty"`
	Cohorts             []string   `json:"cohorts,omitempty"`
	Created             *time.Time `json:"created,omitempty"`
	CustomFamilyName    *string    `json:"customFamilyName,omitempty"`
	CustomGivenName     *string    `json:"customGivenName,omitempty"`
	DropboxConnected    *bool      `json:"dropboxConnected,omitempty"`
	Email               *string    `json:"email"`
	EvernoteConnected   *bool      `json:"evernoteConnected,omitempty"`
	Facebook            *string    `json:"facebook,omitempty"`
	FacebookConnected   *bool      `json:"facebookConnected,omitempty"`
	FamilyName          *string    `json:"familyName,omitempty"`
	FullName            *string    `json:"fullName,omitempty"`
	Gender              *string    `json:"gender,omitempty"`
	GivenName           *string    `json:"givenName,omitempty"`
	Google              *string    `json:"google,omitempty"`
	ID                  *string    `json:"id,omitempty"`
	InstapaperConnected *bool      `json:"instapaperConnected,omitempty"`
	LandingPage         *string    `json:"landingPage,omitempty"`
	Locale              *string    `json:"locale,omitempty"`
	Login               *string    `json:"login,omitempty"`
	Logins              []struct {
		Deleted        *bool                  `json:"deleted,omitempty"`
		ID             *string                `json:"id,omitempty"`
		Provider       *string                `json:"provider,omitempty"`
		ProviderID     *string                `json:"providerId,omitempty"`
		Verified       *bool                  `json:"verified,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"logins,omitempty"`
	Picture              *string                `json:"picture,omitempty"`
	PocketConnected      *bool                  `json:"pocketConnected,omitempty"`
	Reader               *string                `json:"reader,omitempty"`
	RedditConnected      *bool                  `json:"redditConnected,omitempty"`
	RefPage              *string                `json:"refPage,omitempty"`
	Source               *string                `json:"source,omitempty"`
	Twitter              *string                `json:"twitter,omitempty"`
	TwitterConnected     *bool                  `json:"twitterConnected,omitempty"`
	Verified             *bool                  `json:"verified,omitempty"`
	Wave                 *string                `json:"wave,omitempty"`
	WindowsLiveConnected *bool                  `json:"windowsLiveConnected,omitempty"`
	WordPressConnected   *bool                  `json:"wordPressConnected,omitempty"`
	UnmappedFields       map[string]interface{} `json:"-" mapstructure:",remain"`
}

Profile is a Feedly user profile.

type ProfileListResponse

type ProfileListResponse struct {
	Profile        *Profile               `json:"profile"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

ProfileListResponse represents the response from ProfileService.List.

type ProfileService

type ProfileService struct {
	// contains filtered or unexported fields
}

ProfileService provides methods for managing profile information.

func (*ProfileService) List

List returns the profile of the user.

func (*ProfileService) Update

func (s *ProfileService) Update(profile *Profile) (*http.Response, error)

Update updates the profile of the user.

type RecommendationService

type RecommendationService struct {
	// contains filtered or unexported fields
}

RecommendationService provides methods for searching.

func (*RecommendationService) Topic

Topic returns recommended feeds.

type RecommendationTopicOptionalParams

type RecommendationTopicOptionalParams struct {
	Count *int `url:"count,omitempty"`
}

RecommendationTopicOptionalParams are the optional parameters for RecommendationService.Topic.

type RecommendationTopicResponse

type RecommendationTopicResponse struct {
	Topics         []Topic                `json:"topics"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

RecommendationTopicResponse represents the response from RecommendationService.Topic.

type SearchFeedsOptionalParams

type SearchFeedsOptionalParams struct {
	Count  *int    `url:"count,omitempty"`
	Locale *string `url:"locale,omitempty"`
}

SearchFeedsOptionalParams are the optional parameters for SearchService.Topic.

type SearchFeedsResponse

type SearchFeedsResponse struct {
	Hint           *string                `json:"hint,omitempty"`
	QueryType      *string                `json:"queryType,omitempty"`
	Related        []string               `json:"related,omitempty"`
	Results        []Feed                 `json:"results,omitempty"`
	Scheme         *string                `json:"scheme,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

SearchFeedsResponse represents the response from SearchService.Topic.

type SearchService

type SearchService struct {
	// contains filtered or unexported fields
}

SearchService provides methods for searching.

func (*SearchService) Feeds

func (s *SearchService) Feeds(query string, optionalParams *SearchFeedsOptionalParams) (*SearchFeedsResponse, *http.Response, error)

Feeds returns matching feeds.

func (*SearchService) Stream

func (s *SearchService) Stream(streamID string, query string, optionalParams *SearchStreamOptionalParams) (*SearchStreamResponse, *http.Response, error)

Stream returns matching content in a stream.

type SearchStreamOptionalParams

type SearchStreamOptionalParams struct {
	Continuation *string           `url:"count,omitempty"`
	Count        *int              `url:"count,omitempty"`
	Embedded     *EmbeddedFilter   `url:"embedded,omitempty"`
	Engagement   *EngagementFilter `url:"engagement,omitempty"`
	Fields       *FieldFilter      `url:"fields,omitempty"`
	Locale       *string           `url:"locale,omitempty"`
	NewerThan    *time.Time        `url:"newerThan,omitempty"`
	UnreadOnly   *bool             `url:"unreadOnly,omitempty"`
}

SearchStreamOptionalParams are the optional parameters for SearchService.Stream.

type SearchStreamResponse

type SearchStreamResponse struct {
	AdvancedSearch    *bool `json:"advancedSearch,omitempty"`
	SearchElapsedTime *int  `json:"searchElapsedTime,omitempty"`
	SearchTime        *int  `json:"searchTime,omitempty"`
	Stream            `mapstructure:",squash"`
	Terms             []string               `json:"terms,omitempty"`
	UnmappedFields    map[string]interface{} `json:"-" mapstructure:",remain"`
}

SearchStreamResponse represents the response from SearchService.Stream.

type Stream

type Stream struct {
	Alternate []struct {
		HRef           *string                `json:"href,omitempty"`
		Type           *string                `json:"type,omitempty"`
		UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
	} `json:"alternate,omitempty"`
	Continuation   *string                `json:"continuation,omitempty"`
	Direction      *string                `json:"direction,omitempty"`
	ID             *string                `json:"id,omitempty"`
	Items          []Entry                `json:"items,omitempty"`
	Title          *string                `json:"title,omitempty"`
	Updated        *time.Time             `json:"updated,omitempty"`
	Velocity       *float64               `json:"velocity,omitempty"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

Stream is a Feedly stream.

type StreamContentOptionalParams

type StreamContentOptionalParams struct {
	Continuation      *string      `url:"continuation,omitempty"`
	Count             *int         `url:"count,omitempty"`
	FindURLDuplicates *bool        `url:"findUrlDuplicates,omitempty"`
	ImportantOnly     *bool        `url:"importantOnly,omitempty"`
	NewerThan         *time.Time   `url:"newerThan,omitempty"`
	Ranked            *ContentRank `url:"ranked,omitempty"`
	ShowMuted         *bool        `url:"showMuted,omitempty"`
	Similar           *bool        `url:"similar,omitempty"`
	UnreadOnly        *bool        `url:"unreadOnly,omitempty"`
}

StreamContentOptionalParams are the optional parameters for StreamService.Content.

type StreamContentResponse

type StreamContentResponse struct {
	Stream         *Stream                `json:"stream"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

StreamContentResponse represents the response from StreamService.Content.

type StreamEntryIDsOptionalParams

type StreamEntryIDsOptionalParams struct {
	Continuation *string      `url:"continuation,omitempty"`
	Count        *int         `url:"count,omitempty"`
	NewerThan    *time.Time   `url:"newerThan,omitempty"`
	Ranked       *ContentRank `url:"ranked,omitempty"`
	UnreadOnly   *bool        `url:"unreadOnly,omitempty"`
}

StreamEntryIDsOptionalParams are the optional parameters for StreamService.EntryIDs.

type StreamEntryIDsResponse

type StreamEntryIDsResponse struct {
	Continuation   *string                `json:"continuation,omitempty"`
	IDs            []string               `json:"ids,omitempty" mapstructure:"ids"`
	UnmappedFields map[string]interface{} `json:"-" mapstructure:",remain"`
}

StreamEntryIDsResponse represents the response from StreamService.EntryIDs.

type StreamService

type StreamService struct {
	// contains filtered or unexported fields
}

StreamService provides methods for managing streams.

func (*StreamService) Content

func (s *StreamService) Content(streamID string, optionalParams *StreamContentOptionalParams) (*StreamContentResponse, *http.Response, error)

Content returns the content of a stream.

func (*StreamService) EntryIDs

func (s *StreamService) EntryIDs(streamID string, optionalParams *StreamEntryIDsOptionalParams) (*StreamEntryIDsResponse, *http.Response, error)

EntryIDs returns the IDs of entries in a stream.

type Topic

type Topic struct {
	BestFeedID       *string                `json:"bestFeedId,omitempty"`
	DuplicateTopics  []Topic                `json:"duplicateTopics,omitempty"`
	FeedIDs          []string               `json:"feedIds,omitempty"`
	FeedInfos        []Feed                 `json:"feedInfos,omitempty"`
	FocusScore       *float64               `json:"focusScore,omitempty"`
	Language         *string                `json:"language,omitempty"`
	ParentTopic      *Topic                 `json:"parentTopic,omitempty"`
	RecommendedFeeds []Feed                 `json:"recommendedFeeds,omitempty"`
	RelatedTopics    []Topic                `json:"relatedTopics,omitempty"`
	Size             *int                   `json:"size,omitempty"`
	Topic            *string                `json:"topic,omitempty"`
	TopicID          *string                `json:"topicId,omitempty"`
	Updated          *time.Time             `json:"updated,omitempty"`
	VersionCode      *string                `json:"versionCode,omitempty"`
	Visual           *string                `json:"visual,omitempty"`
	UnmappedFields   map[string]interface{} `json:"-" mapstructure:",remain"`
}

Topic is a feedly topic.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL