0

i use google picker to work with google drive in angular 11 but after select file from google picker, does not call onSave function in myCallback from handleAuthResult and i get error.

my code is here :


  handleAuthResult(authResult:any){
    // let src:any;
    if (authResult && !authResult.error) {
      if (authResult.access_token) {
        let view = new google.picker.View(google.picker.ViewId.DOCS);
        let pickerBuilder = new google.picker.PickerBuilder();
        view.setMimeTypes("image/png,image/jpeg,image/jpg");

        let picker = pickerBuilder.addViewGroup(
          new google.picker.ViewGroup(google.picker.ViewId.DOCS).
            addView(google.picker.ViewId.DOCUMENTS).
            addView(google.picker.ViewId.PRESENTATIONS).
            addView(google.picker.ViewId.SPREADSHEETS) ).
            enableFeature(google.picker.Feature.MULTISELECT_ENABLED).
            setLocale('fa').
            setOAuthToken(authResult.access_token).
            addView(view).
            addView(new google.picker.DocsUploadView()).
            setCallback(this.myCallback).
            build();
        picker.setVisible(true);
      }
    }
  }

  myCallback(e){
    // console.log(e);
    if(e[google.picker.Response.ACTION] == google.picker.Action.PICKED){
      let doc = e[google.picker.Response.DOCUMENTS][0];
      let src = doc[google.picker.Document.URL];
      console.log("Document selected is", doc, "and URL is ", src);
      this.onSave(doc.id);
    }
  }

onSave(data){console.log(data)}

}

error

zone.js:182 Uncaught TypeError: this.onSave is not a function
    at d2.myCallback [as Nb] (profile.component.ts:140:12)

my code run well but when i want to call function onSave get error.

please help me !!!!

0 Answers0