Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Andrew Koltyakov
    @koltyakov
    I'd suggest PnPjs. But you have to have at least some understanding of what is SharePoint REST API.
    With REST, obviously, you can request a list/library and get metadata, filter only images, etc.
    ankitsaraswat27
    @ankitsaraswat27
    Hello, I am getting this error
    Access to XMLHttpRequest at 'https://waconafd.officeapps.live.com/apc/trans.gif?b320ab775852cec633df8395c6a55814' from origin 'https://abcd.sharepoint.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
    2 replies
    bradcurtis
    @bradcurtis
    I am looking to authenticate with a smart card. I was wondering if that is possible?
    1 reply
    Clint Lechner
    @clechner77
    @koltyakov I've been meaning to say something for a while, it looks like you have react listed twice in your default app.json. I assume one should be a dev version but they are both prod. Same path...
    Andrew Koltyakov
    @koltyakov
    @clechner77 thanks! It's a bug with presets. Fixed, will publish an update shortly.
    RickEvry
    @rickevry
    Hi, anyone managed to authenticate with MFA? I get "Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access"
    Miguel Ángel González Muñoz
    @dactivo
    Hi, everyone, I have a problem with read permissions users in a site collection, I have tested and they can update his/her information in User Information List, using script, that is to say, they can change their email and their DisplayName/Title. Anyone know what's wrong or how to solve it?
    The script returns not authorized, but it updates the info: Even if the response from the request is a 403 not authorized:
    {"error":{"code":"-2147024891, System.UnauthorizedAccessException".....}

    Here you have the script in case you want to test it from chrome: var reqUrl= "https://XXXX.sharepoint.com/_api/web/siteusers/getbyid(170)";
    var body={ '__metadata':{ 'type': 'SP.Data.UserInfoItem' }, 'Title':'Active3','EMail': 'xxxx@xxx.es' }
    var _payloadOptions = {
    method: "POST",
    body: undefined,
    headers: {
    credentials: "include",
    Accept: "application/json; odata=verbose",
    "Content-Type": "application/json; odata=verbose"
    }
    };

    //Get RequestDigest First
    fetch("https://XXXX.sharepoint.com/_api/contextinfo",_payloadOptions).then(r=>r.json())
    .then(r=>
    {
    _payloadOptions.headers["X-RequestDigest"]=r.d.GetContextWebInformation.FormDigestValue
    _payloadOptions.headers["IF-MATCH"]="*"
    _payloadOptions.body=JSON.stringify(body);
    _payloadOptions.method="MERGE";
    // Make REST API Call to update list item without increamenting version.
    fetch(reqUrl
    ,_payloadOptions).then(function(r){

    console.log(r)
    }
    ).then(r=>console.log(r))
    })

    HeinnerXD
    @HeinnerXD
    Hi everyone, I used the "sppull" NPM package to download files from Sharepoint. But when the file is downloaded and I try to open it throw me an error:
    image.png
    Does anyone have the same error or any solution?
    Andrew Koltyakov
    @koltyakov
    Hi @HeinnerXD, responded to the issue on GitHub. Let's continue from there.
    Dardo
    @DardoJav
    Hi @koltyakov I was facing an issue trying to use the sppull api you provided (https://github.com/koltyakov/sppull) to download a shared excel file
    image.png
    I followed the example as you showed:
    with this response:
    Folders proceeding: 0 out of 0 [recursive scanning...]Core error has happened Error: Invalid argument
    Dardo
    @DardoJav
    also tried to specify the file:
    image.png
    with these response:
    Downloading files: 1 out of 1
    Error in operations.downloadFile: Invalid argument
    could you please help on this? don't know what I'm doing wrong here
    Andrew Koltyakov
    @koltyakov

    Hey @DardoJav,

    Please try with auth configurator to avoid incorrect creds payload:

    import { AuthConfig as SPAuthConfigurator } from 'node-sp-auth-config';
    import { ISPPullOptions, ISPPullContext, Download as IDownload } from 'sppull';
    
    new SPAuthConfigurator().getContext().then((context) => {
    
      const Download: IDownload = require('sppull');
      const sppull = Download.sppull;
    
      const context: ISPPullContext = {
        siteUrl: context.siteUrl,
        ...context.authOptions
      } as any;
    
      const options: ISPPullOptions = {
        spRootFolder: 'Shared%20Documents',
        dlRootFolder: './Downloads/Documents'
      };
    
      sppull(context, options);
    
    }).catch(console.log);
    Mohammed Abbod
    @mhmd2015
    Hi, I have angular SPFx in SP2019 responsible to show MegaMenu's and listing all sites/subsites using this REST API : /_api/web/getsubwebsfilteredforcurrentuser(nwebtemplatefilter=-1,nconfigurationfilter=0), also its working now in [my company].sharepoint.com in cloud, there is one SSO PingFederate controlling the authentication in both environment. is there a library like msal.js be able to talk from one environment to another one using the token that user issued when logged in ? Thanks in advance.
    rs011235
    @rs011235
    Hi, I am facing issue -
    spauth.getAuth is working fine while I am using with http server but it gives error while using with express node server.
    Error is - enrufused to connect 443 port
    jmls
    @jmls

    This works for me:

    const { AuthConfig } = require('node-sp-auth-config');
    const { create } = require('sp-request');
    
    (async () => {
    
      const { siteUrl, authOptions } = await new AuthConfig().getContext();
      const spr = create(authOptions);
    
      const digest = await spr.requestDigest(`${siteUrl}`);
      const res = await spr.post(`${siteUrl}/_api/web/lists/getByTitle('MyList')/items(1)`, {
        headers: {
          'X-RequestDigest': digest,
          'X-HTTP-Method': 'DELETE',
          'IF-MATCH': '*'
        }
      });
    
      console.log(res.statusCode, res.statusMessage);
    
    })().catch(console.warn);

    ok, so I have an issue with this code - and it must be a config setting. If I run this, I get prompted for all my dettails (url, type, username etc)
    however, I get a 401

    if I browse to the site in chrome, and enter the same username, password I get logged on

    what am I missing ? I really would appreciate some help here, my eyes are bleeding from all the googling ;)

    1 reply
    I'm trying to use User credentials (NTLM) btw
    utahisnotastate
    @utahisnotastate
    Hi! Is there an easy way to create a react CEWP that im not seeing? I don't know how to use webpack because i normally use create-react-app . I selected the option to use react but it doesn't look like that did anything?
    do I have to create a new webpack config from scratch and find all the related babel plugins to install?
    Danny Foncke
    @dannyfoncke
    CEWP as in Content Editor Web Part on classic SharePoint? In that case, build your react app, copy the content of the dist folder to an SP library, point your CEWP to the html. Done
    Danny Foncke
    @dannyfoncke
    @utahisnotastate CEWP as in Content Editor Web Part on classic SharePoint? In that case, build your react app, copy the content of the dist folder to an SP library, point your CEWP to the html. Done
    Andrew Koltyakov
    @koltyakov
    @utahisnotastate check generator-sppp, it covers this scenario right out of the box without any additional configuration.
    utahisnotastate
    @utahisnotastate
    @koltyakov OK so i'm a huge moron. Apparently you are supposed to hit space bar when the genererator asks you if you want react. I hit enter and I guess it assumed i didnt want either of those. That's what the issue was
    and yeah, you can do a lot with CEWP still
    phamduccongit
    @phamduccongit

    @koltyakov I got this error. My project wants to download the excel file and read it, but at some point it does not work and the account is error , This excel file I was shared by a member of the company, please help me :

    (node:20972) UnhandledPromiseRejectionWarning: Error: <S:Fault>
    <S:Code>
    <S:Value>S:Sender</S:Value>
    <S:Subcode>
    <S:Value>wst:FailedAuthentication</S:Value>
    </S:Subcode>
    </S:Code>
    <S:Reason>
    <S:Text xml:lang="en-US">Authentication Failure</S:Text>
    </S:Reason>
    <S:Detail>
    <psf:error xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault">
    <psf:value>0x800434D4</psf:value>
    <psf:internalerror>
    <psf:code>0x800434D4</psf:code>
    <psf:text>AADSTS50076: Due to a configuration change made by your administrator, or because you moved t
    o a new location, you must use multi-factor authentication to access ''.</psf:text>
    </psf:internalerror>
    </psf:error>
    </S:Detail>
    </S:Fault>
    at OnlineUserCredentials.postToken (C:\Users\MEDCPham\Documents\CloneServer\node_modules\node-sp-auth\lib\s
    rc\auth\resolvers\OnlineUserCredentials.js:148:19)
    at C:\Users\MEDCPham\Documents\CloneServer\node_modules\node-sp-auth\lib\src\auth\resolvers\OnlineUserCrede
    ntials.js:48:25
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    (Use node --trace-warnings ... to show where the warning was created)
    (node:20972) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by thr
    owing inside of an async function without a catch block, or by rejecting a promise which was not handled with .
    catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections =strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
    (node:20972) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise
    rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    My Code :

    function getExcelData() {
    spauth.getAuth(url, {
    username:username,
    password:password

    })  
    .then(function(options){  
         var headers = options.headers;  
        headers['Accept'] = "application/json;odata=verbose";  
         requestprom.get({  
         url: url,   
             headers: headers,  
           encoding: null
         }).then(function(listresponse){
            fs.writeFile('./public/excel.xlsx', listresponse , 'binary', function(err){
                if (err) console.log(err) 
                var today = new Date();
                var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    
    
                console.log('File saved.')

    // function logic

    utahisnotastate
    @utahisnotastate
    sorry im just some random dude but on this link it says you need a domain property. I dont know anything about what the domain property is supposed to be
    {
    username: 'administrator',
    password: '[password]',
    domain: 'sp'
    }
    you only have username and password
    all you are doing is download a excel sheet from a document library?
    *downloading
    why not just link to the sheet and SP should download it automatically to the computer
    the other thing is that the error message says that MFA is required
    utahisnotastate
    @utahisnotastate
    also, you dont have the requestprom() function defined in that code you linked, but the API method in that example is request.get()
    also, try putting a catch() inbetween the two .then()s just saying .catch(error => console.log(error)) and also put that after the last .then() as well
    utahisnotastate
    @utahisnotastate
    here is some thread i found
    luiskalo95
    @luiskalo95
    Hi there, is anyone available?
    klaydze
    @klaydze
    Hello, hope everybody doing great. Maybe this is a simple error for someone but I'm not really sure why I'm getting a Invalid parameter error every time I execute the below code. Can someone help me pin point what I missed here?
    const url = 'https://company.com/sites/test/Lists/Cleanup';
    spauth.getAuth(url, {
        username: `domain\\my_user_name`,
        password: `my_password`
    }).then((value) => {
        console.log('Connected to Sharepoint');
        console.log(value);
    }, (err) => {
        console.log(err);
    });
    Andrew Koltyakov
    @koltyakov

    @klaydze your site url leads to a list but not SPWeb. Can you try https://company.com/sites/test instead of https://company.com/sites/test/Lists/Cleanup.

    Are you also sure that NTLM auth provider is used?