Fluent JavaScript API for SharePoint and Microsoft Graph REST APIs

Overview

PnPjs is a fluent JavaScript API for consuming SharePoint and Microsoft Graph REST APIs in a type-safe way. You can use it with SharePoint Framework, Nodejs, or JavaScript projects. This an open source initiative complementing existing SDKs provided by Microsoft.

Please use http://aka.ms/sppnp for the latest updates around the whole SharePoint Patterns and Practices (PnP) initiative.

If you are moving from v1 please review the transition guide

Getting Started

Please see the Getting Started guide in the main documentation.

Documentation

Please review the documentation for the PnPjs libraries. This site is updated with each release. If cannot find what you need, please let us know by logging an documentation request.

Authors

This project's contributors include Microsoft and community contributors. Work is done as an open source community project.

Sponsors

We want to thank everyone that has sponsored us once or on an ongoing basis. We use the money to look for fun ways to invest in the growth of PnPjs. Thank you to each and every one of you for your support and belief in what we are doing!

Thank You

KEMiCZA Sympraxis Consulting thechriskent erwinvanhunen PopWarner VesaJuvonen LauraKokkarinen ricardocarneiro andrewconnell YannickRe jansenbe tdwhite0 wobba

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

"Sharing is Caring"

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.

Issues
  • SPFx 1.12 - TypeError: Object(...) is not a function

    SPFx 1.12 - TypeError: Object(...) is not a function

    Category

    • [ ] Enhancement
    • [X] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 2.3.0 (started with 2.2.0) ]

    Please specify what version(s) of SharePoint you are targeting: [ SharePoint Online with SPFx 1.12 ]

    If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.

    Expected / Desired Behavior / Question

    After upgrading to SPFx 1.12 this morning, I have found that the following error occurs now when I use methods like sp.web.lists.GetById() or sp.hubSites.getById(). I have tried this with version 2.2.0 and upgraded to 2.3.0.

    Observed Behavior

    I get the following error when using SPFx 1.12.

    TypeError: Object(...) is not a function at factory (invokable-binder.js:17) at applyFactoryExtensions (invokable-extensions.js:86) at invokable-binder.js:26 at index.js:12 at SPRest.9l4K.SPRest.childConfigHook (rest.js:67) at SPRest.get [as hubSites] (index.js:10) at ApplicationInsightsService. (ApplicationInsightsService.ts:999) at Generator.next () at application-customizer_8bf88ad57c5ebffbf016.js:18455 at new Promise ()

    When I revert to my SPFx 1.11 builds, this error does not occur.

    Steps to Reproduce

    Here's a short code snippet:

    try { const hubSiteInfo: IHubSiteInfo = await sp.hubSites.getById(hubSiteId)(); return hubSiteInfo; } catch (error) { throw error; }

    I don't think I am doing anything wrong. I have checked all of my dependencies. I am going to upgrade another project and see if the same issue occurs with my PnPJS calls there as well.

    status: answered type: discussion area: non-library auto-locked 
    opened by coreyroth 34
  • Adding sections and web parts to the modern pages is not working

    Adding sections and web parts to the modern pages is not working

    Category

    • [ ] Enhancement
    • [X] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [1.2.7]

    Please specify what version(s) of SharePoint you are targeting: [SPO]

    Expected / Desired Behavior / Question

    The sections and OOB web parts should be added in the newly created site pages.

    Observed Behavior

    I am loading the site in the Web object and adding the client side page using the web object. Once the page got created I am adding sections, columns & web parts to the page, finally I am saving the page. The created page was holding the sections and web parts which was added programmatically, but all of sudden the sections and the web parts not appearing. I am not getting any errors but the sections are not getting added for the newly created pages.

    The page is getting created but the sections and web parts are not getting added.

    Steps to Reproduce

    The code I am using for creating page and adding web parts:

    (async () => {
         var web = new Web("https://tenant.sharepoint.com/sites/test");
         const page = await web.addClientSidePage("test.aspx", "My site Page");
         const section = page.addSection();
         const column = section.addColumn(4);
         const column1 = section.addColumn(4);
         const column2 = section.addColumn(4);
         await page.save();
        })().then(_ => {
        }).catch(
          error => console.log(error)
        );
    

    After the page.save() it is returning the item with empty CanvasContent1

    item: Item Approved_x0020_byId: null Approved_x0020_byStringId: null AuthorId: 10 BannerImageUrl: {Description: "/_layouts/15/images/sitepagethumbnail.png", Url: "https://tenant.sharepoint.com/_layouts/15/images/sitepagethumbnail.png"} CanvasContent1: null

    Could you please help me with any suggestion/solution.

    type: bug status: fixed area: code auto-locked 
    opened by Prakash-Ramasamy 34
  • Getting exception

    Getting exception "cannot read property 'forEach' of undefined

    Thank you for reporting an issue, suggesting an enhancement, or asking a question. We appreciate your feedback - to help the team understand your needs please complete the below template to ensure we have the details to help. Thanks!

    Please check out the Docs to see if your question is already addressed there. This will help us ensure our documentation covers the most frequent questions.

    Category

    • [ ] Enhancement
    • [X] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 2.0.1 ]

    Please specify what version(s) of SharePoint you are targeting: [ SPO ]

    If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.

    Expected / Desired Behavior / Question

    Our app is a React application which we're hosting on our site via a custom webpart. We are trying to retrieve items from a list on the same site via the following code:

    let items: IItems = sp.web.lists.getByTitle(listName).items;
        if (expandAttachments) {
          items = items.expand("AttachmentFiles");
        }
        if (orderBy) {
          items = items.orderBy(orderBy, asc);
        }
        if (top) {
          items = items.top(top);
        }
        return items.get().catch(SpApiService.handleError);
    

    Observed Behavior

    We are getting a JS exception when trying to execute the request:

    TypeError: Cannot read property 'forEach' of undefined
        at mergeHeaders (net.js:6)
        at SPHttpClient.<anonymous> (sphttpclient.js:23)
        at step (tslib.es6.js:99)
        at Object.next (tslib.es6.js:80)
        at tslib.es6.js:73
        at new Promise (<anonymous>)
        at __awaiter (tslib.es6.js:69)
        at SPHttpClient.fetch (sphttpclient.js:15)
        at pipeline.js:162
        at new Promise (<anonymous>)
    

    Steps to Reproduce

    We are getting this exception with multiple versions of the library.

    Any suggestions or help would be greatly appreciated!

    status: details needed area: non-library type: someting isn't working auto-locked 
    opened by derekesh 30
  • Access Denied [Error 403] Simple sharepoint list query

    Access Denied [Error 403] Simple sharepoint list query

    From the webpart I am consulting a list called footerlist located in a site to which I have access.

    the problem is when I implement these functions in the code: image

    Basically I am creating a new web context to consult the list, my query methods work correctly when I use the current context in which the webpart is located, but when I consult another site it throws permission errors. The user who is running the webpart is a global administrator user and has permissions to query any site and list, but in the console it throws this error: image

    at the workbench of the tenant these changes work correctly, the problem starts when I deploy in production.

    Category

    • [ ] Enhancement
    • [ ] Bug
    • [x] Question
    • [ ] Documentation gap/issue

    Please specify what version of the library you are using: [ 2 ]

    Please specify what version(s) of SharePoint you are targeting: [ online ]

    type: question status: complete area: non-library auto-locked 
    opened by andreer1 30
  • polyfill-ie11

    polyfill-ie11 "Out of stack space"

    Category

    • [ ] Enhancement
    • [x] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [2.0.0]

    Please specify what version(s) of SharePoint you are targeting: [SPO 16.0.0.19520]

    Expected / Desired Behavior / Question

    PnP polyfill package should allow sp and graph packages to function to some degree in IE.

    The end goal is to query SPO/Graph using xstate v4. To that end, I've tried building my own polyfill bundle from https://polyfill.io/v3/url-builder. The xstate community have figured out how to make their tool work in IE11 using the aforementioned polyfill builder so it would be useful to find out exactly what PnP needs to function. This is just for context. I'm happy to open other issues and concentrate on the one in the title for now.

    Observed Behavior

    Simply importing the polyfill package into a pristine 1.9.1 SPFx webpart blows up the stack.

    Steps to Reproduce

    1. Get IE11
    2. Clone
    3. Build and deploy to a modern page in SPO
    4. View page in IE11 with F12 open
    5. To see my attempts at polyfilling the library, simply do this:
    • comment out the PnP polyfill import
    • enable the dormant code in onInit method
    • this code contains polyfills for the following:
    Array.from
    Array.isArray
    [email protected]@iterator
    Array.prototype.fill
    Array.prototype.find
    Array.prototype.includes
    es5
    Intl
    Map
    matchMedia
    Number.isNaN
    Object.assign
    Object.create
    Object.entries
    Object.values
    Promise
    Reflect
    Reflect.apply
    Reflect.defineProperty
    Reflect.get
    Reflect.has
    Reflect.set
    Reflect.setPrototypeOf
    Set
    Symbol
    Symbol.iterator
    
    • Notice that the unhandled exception has been resolved but the web object is undefined (no idea which polyfills I've missed out) :supersadface:
    type: bug status: fixed area: tooling IE11 auto-locked 
    opened by semopz 28
  • Occur

    Occur "Invariant Violation" error when use IE11 mode

    Category

    • [ ] Enhancement
    • [x] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 2.0.3 ]

    Please specify what version(s) of SharePoint you are targeting: [ Online ]

    Expected / Desired Behavior / Question

    Running well after using IE11 mode in IE11.

    Observed Behavior

    There are errors happened, and the page turn to blank.

    Steps to Reproduce

    Build an application customizer extension, and follow this doc to use IE11 mode, and then deploy it to SharePoint. When run it in ie11, it work fine at first, but then an error occur and the page turn into blank.

    Code

    image

    package.json

    image

    Error info

    image
      image
      image

    Detailed error info in ie console log

    Console log.txt

    status: details needed area: code type: someting isn't working IE11 auto-locked 
    opened by YanYi2017 27
  • removing all graph support from PnPjs

    removing all graph support from PnPjs

    This PR removes all support, docs, and references to the Microsoft Graph. The AdalClient package remains, though is now only of use to call the SharePoint APIs secured via AAD so will have limited use cases. This is a very unfortunate approach to open source taken by that team and one I disagree with strongly. I want to thank everyone that contributed to, used, and helped develop these capabilities - know that your work mattered and was appreciated. 🐇

    opened by patrick-rodgers 26
  • Does not work in IE11

    Does not work in IE11

    Category

    • [ ] Enhancement
    • [X ] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    1.2.1

    Expected / Desired Behavior / Question

    var q = sp.web.lists.getById('123').items.select(['Title']) q.toUrlAndQuery()

    returns: "_api/web/lists('123')/items?$select=Title"

    Observed Behavior

    Causes an error. With additional polyfills returns

    "_api/web/lists('123')/items?"

    Steps to Reproduce

    Just make any request to a list

    type: question status: answered area: documentation auto-locked 
    opened by jusper-dk 26
  • Error fetching page details

    Error fetching page details

    Category

    • [ ] Enhancement
    • [x] Bug
    • [ ] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 1.1.0 ]

    Expected / Desired Behavior / Question

    Able to load page details by page Url

    Observed Behavior

    Getting JSON token errors, see below

    "SyntaxError: Unexpected token . in JSON at position 343" "stack:"SyntaxError: Unexpected token . in JSON at position 343\n at JSON.parse ()\n at Function.ClientSidePage.escapedStringToJson (https://localhost:4321/dist/pn-p-web-part.js:5897:21)\n at ClientSideWebpart.fromHtml (https://localhost:4321/dist/pn-p-web-part.js:6385:42)\n at https://localhost:4321/dist/pn-p-web-part.js:5951:29\n at getBoundedDivMarkup (https://localhost:4321/dist/pn-p-web-part.js:5780:29)\n at ClientSidePage.fromHtml (https://localhost:4321/dist/pn-p-web-part.js:5935:9)\n at https://localhost:4321/dist/pn-p-web-part.js:5972:19""

    Steps to Reproduce

    Created a basic web part for testing which setups PnP context and passes this to react component

    public onInit(): Promise {

    return super.onInit().then(_ => {
    
      // other init code may be present
    
      sp.setup({
        spfxContext: this.context
      });
    });
    

    }

    In react component try and fetch a page. If there is any content on the page like text web part of links web part or a custom web part it errors. If the blank page it works ok.

    const page = await ClientSidePage.fromFile( this.props.spRest.web.getFileByServerRelativeUrl(this.props.pageUrl));

    type: bug status: fixed area: code auto-locked 
    opened by raymondlittle100 26
  • .filter does not work on IE11

    .filter does not work on IE11

    Category

    • [ ] Enhancement
    • [ ] Bug
    • [x] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 1.2.1 ]

    Please specify what version(s) of SharePoint you are targeting: [SPO]

    If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.

    Expected / Desired Behavior / Question

    Filter should work as it does on Chrome and other supported browsers.

    Observed Behavior

    The call to the API does not happen due to a browser error. web.lists.getByTitle(surveyListTitle).fields.select("ID, Title, StaticName, TypeAsString, Choices, CanBeDeleted").

    Steps to Reproduce

    This code should reproduce the issue: sp.web.lists.getByTitle("List Title").fields.filter("CanBeDeleted eq true").top(1)

    This might be because of a missing poly fill but not sure yet.

    type: question status: details needed area: code auto-locked 
    opened by saulpreciado 25
  • Microsoft Teams app samples

    Microsoft Teams app samples

    Category

    • [ ] Enhancement
    • [ ] Bug
    • [x] Question
    • [ ] Documentation gap/issue

    Version

    N/A

    Expected / Desired Behavior / Question

    Where could I find examples of pnpjs used in Microsoft Teams apps? I am talking about apps built using the Microsoft Teams Toolkit or yo Teams, not SPFx tabs.

    type: question status: answered area: sample auto-locked 
    opened by PathToSharePoint 23
  • Updates for 3.6, sharing issue, debug improvements, docs updates

    Updates for 3.6, sharing issue, debug improvements, docs updates

    Category

    • [X] Bug fix?
    • [ ] New feature?
    • [ ] New sample?
    • [X] Documentation update?

    Related Issues

    fixes #2372

    What's in this Pull Request?

    • maintainer improvements for watch-debug allowing faster debugging locally
    • eslint updates to remove some lingering issues in the error reporter
    • remove telemetry when locally debugging (avoid reporting bad data and simplify watch-build)
    • update to docs around SPBrowser usage and setting baseUrl
    • Sharing bug fixes #2372
    opened by patrick-rodgers 0
  • Add $search and $filter parameters to Count() and Paged Behaviour

    Add $search and $filter parameters to Count() and Paged Behaviour

    Category

    • [X] Bug fix?
    • [X] New feature?

    Related Issues

    mentioned in https://github.com/pnp/pnpjs/issues/2373

    What's in this Pull Request?

    • count returns correct number if $search or $filter applied
    • adds $search and $filter parameters to paged behaviour
    opened by Tripplefix 0
  • Issue with Paging when used with $orderby or $search parameter

    Issue with Paging when used with $orderby or $search parameter

    Category

    • [x] Enhancement
    • [x] Bug

    Version

    Please specify what version of the library you are using: [3.5.1]

    Please specify what version(s) of SharePoint you are targeting: [1.15.2]

    Expected / Desired Behavior / Question

    When using the Paged behaviour with graph, it should be possible to use the parameters $filter in combination with $orderBy. Additionally, the parameter $search should be supported, as well.

    Observed Behavior

    When trying to use the $orderBy parameter in combination with the $filter parameter, an error is thrown:

    Emitting error: "Error making HttpClient request in queryable [400] Bad Request ::> {"error":{"code":"Request_UnsupportedQuery","message":"Sorting not supported for current query."

    This is because the $count parameter is not included in the request URL.

    The parameter $search is simply ignored with no error messages. It is not included in the request URL either.

    Steps to Reproduce

    The following code will reproduce both issues:

    public async searchUsers(q: string, department: string): Promise<IPagedResult> {
        
        let users = this._graph.users
    
        users.query.set("$count", "true")
        users = users.top(5)
    
        users = users.filter(`department eq '${department}'`);
        users = users.search(`displayName:${q}`)
        users = users.orderBy("displayName")
    
        return users.paged()
    }
    

    Solution / Suggestion

    In the file packages/graph/behaviours/paged.ts update the following line to include $search and $count:

    line 21: const queryParams = ["$search", "$count", "$top", "$select", "$expand", "$filter", "$orderby"];

    type: bug status: fixed area: code 
    opened by Tripplefix 2
  • shareWith-Error No observers registered for this request.

    shareWith-Error No observers registered for this request.

    @juliemturner

    Category

    • [ ] Bug

    Version

    Please specify what version of the library you are using: [ 3.5.1 ]

    Please specify what version(s) of SharePoint you are targeting: [ SPO with SPFx 1.15 ]

    Expected / Desired Behavior / Question

    *Should be able to share the site with the specified user

    Observed Behavior

    *queryable.js:84 Uncaught (in promise) Error: No observers registered for this request. (https://pnp.github.io/pnpjs/queryable/queryable#No-observers-registered-for-this-request)

    Steps to Reproduce

    image

    image

    type: bug status: fixed area: code 
    opened by ravikadri 2
  • Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'web')

    Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'web')

    Category

    • [ ] Enhancement
    • [ ] Bug
    • [ ] Question
    • [X] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 3.5.1 ] Please specify what version(s) of SharePoint you are targeting: [ SPO ]

    Observed Behavior

    I recently ran into an issue similar to the one reported in #2239. For example, simply when switching the page on which the Webpart is placed into edit mode, the code in the componentDidMount() will error out when accessing getSP().web.(something). After going through some debugging and trial and error steps I found a reason for that behavior. In the example provided at https://pnp.github.io/pnpjs/concepts/project-preset/ -> Use a config file the code is doing the following check if (_sp === null && context != null) { This leads to the problem described in the above mentioned issue (PnPJS is somehow not initialized properly). The line needs to be changed to if (context != null) { After changing this line the problem disappeared. I'm not really deep into Javascript but it seems that the _sp object in the config file is still holding 'some' content which isn't valid anymore. The getSP(this.context) in the onInit() method of the Webpart isn't reinitializing the _sp object because it isn't null after a page navigation event -> Later usage of the object will lead to an error. BTW: The example linked from the docs (https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-pnp-js-sample) is using the same problematic code.

    Steps to Reproduce

    From my point of view this should always happen when using the 'config file' from the docs, accessing getSP().web.(something) in componentDidMount() and changing the page into edit mode after the Webpart has loaded.

    type: question status: answered area: code 
    opened by cwdata 6
  • Question: Are there any examples using ReserveListItemId

    Question: Are there any examples using ReserveListItemId

    Category

    • [ ] Enhancement
    • [ ] Bug
    • [X] Question
    • [ ] Documentation gap/issue

    Version

    Please specify what version of the library you are using: [ 3.5.1 ]

    Please specify what version(s) of SharePoint you are targeting: [ Online ]

    Question

    The Docs cover reserving a ListItemId here but I can't see any examples in this documentation or else where online covering how to use this reserved id when the ListItem is being created.

    I have tried a few different ways but I either run into an error when I try to specify the id or end up the next id rather than the one I reserved.

    type: question status: answered area: code 
    opened by proce 3
Owner
Microsoft 365 Community
Microsoft 365 Community open-source projects and samples
Microsoft 365 Community
Microsoft Graph SDK for Go - Core Library

Microsoft Graph Core SDK for Go Get started with the Microsoft Graph Core SDK for Go by integrating the Microsoft Graph API into your Go application!

Microsoft Graph 9 Jul 23, 2022
Microsoft Graph SDK for Go

Microsoft Graph SDK for Go Get started with the Microsoft Graph SDK for Go by integrating the Microsoft Graph API into your Go application! Note: this

Microsoft Graph 68 Aug 11, 2022
null 92 Aug 8, 2022
"there" also called "GoThere" aims to be a simple Go Library to reduce redundant code for REST APIs.

there "there" also called "GoThere" aims to be a simple Go Library to reduce redundant code for REST APIs. Despite the existence of the other librarie

Christoph Krassnigg 33 Aug 14, 2022
lambda-go-api-proxy makes it easy to port APIs written with Go frameworks such as Gin to AWS Lambda and Amazon API Gateway.

aws-lambda-go-api-proxy makes it easy to run Golang APIs written with frameworks such as Gin with AWS Lambda and Amazon API Gateway.

Amazon Web Services - Labs 683 Aug 6, 2022
Microsoft Azure SDK for Go

Azure SDK for Go This repository is for active development of the Azure SDK for Go. For consumers of the SDK you can follow the links below to visit t

Microsoft Azure 1.1k Aug 6, 2022
A Facebook Graph API SDK For Go.

A Facebook Graph API SDK In Golang This is a Go package that fully supports the Facebook Graph API with file upload, batch request and marketing API.

Huan Du 1.1k Aug 8, 2022
A golang client for the Twitch v3 API - public APIs only (for now)

go-twitch Test CLIENT_ID="<my client ID>" go test -v -cover Usage Example File: package main import ( "log" "os" "github.com/knspriggs/go-twi

Kristian Spriggs 21 May 10, 2021
Go API Client for NASA's Open APIs

Go Client for Nasa Open APIs Description The Go Client for Nasa Open APIs is a Go Client for the following Nasa Open APIs: APOD: Astronomy Picture of

Ernesto H 3 Sep 24, 2021
Simple-api - Create Simple `Hello World` APIs from Various Programming Languages

simple-api Create Simple `Hello World` APIs from Various Programming Languages.

I am Groot 1 Jan 18, 2022
go-whatsapp-rest-API is a Go library for the WhatsApp web which use Swagger as api interface

go-whatsapp-rest-API go-whatsapp-rest-API is a Go library for the WhatsApp web which use Swagger as api interface Multi-devices (MD) Support. This ver

null 16 May 13, 2022
Api-product - A basic REST-ish API that allows you to perform CRUD operations for Products

Description A basic REST-ish API that allows you to perform CRUD operations for

Abdul Salim 0 Jan 3, 2022
Lol-champions-api - A REST API app for CRUD' ing informations related to League of Legends champions, written with Go

LOL-CHAMPIONS-API Just a REST API app for CRUD' ing informations related to Leag

Furkan KARACA 3 Mar 17, 2022
Graph Role-Based Access Control by Animeshon

gRBAC - Graph Role-Based Access Control A cloud-native graph implementation of the Role-Based Access Control (RBAC) authorization architecture powered

gRBAC 18 Jul 28, 2022
The wazuh-integratord is a daemon that allows Wazuh to connect to external APIs and alerting tools such as Slack, VirusTotal and PagerDuty.

The wazuh-integratord is a daemon that allows Wazuh to connect to external APIs and alerting tools such as Slack, VirusTotal and PagerDuty.

Admicro 2 Apr 22, 2022
Rest API to get KVB departures - Written in Go with hexagonal architecture and tracing via OpenTelemetry and Jaeger

KVB API Rest API to get upcoming departures per KVB train station Implemented in Go with hexagonal architecture and tracing via OpenTelemetry and Jaeg

Jan Ritter 3 May 7, 2022
Go library to access geocoding and reverse geocoding APIs

GeoService in Go Code Coverage A geocoding service developed in Go's way, idiomatic and elegant, not just in golang. This product is designed to open

Jerry Zhao 438 Aug 11, 2022
Tiny go package for fetching high and low value of a stock for any given period range using kite connect historical data APIs.

Tiny go package for fetching high and low value of stock for any given period range using Kite connect Historical data APIs.

Rakesh R 1 Apr 27, 2022
Service that wrap up different movies-related APIs like IMDB and match it to streaming services

Service that wrap up different movies-related APIs like IMDB and match it to streaming services. That way you can check in which platforms you can find your favorite movies.

Xavier Graterol 2 Feb 10, 2022