MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-GoogleDriveSlideShow

    Scheduled Pinned Locked Moved Entertainment
    37 Posts 10 Posters 16.8k Views 11 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cgethycx
      last edited by

      I am not having any luck installing this module. It is probably user error. I have MM2 up and running but when I paste the code and restart MM2 is tells ,e i need to create a config.js file.

      WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/pi/MagicMirror/config/config.js:56
      				rootFolderId: my id is here,
      				                        ^
      
      SyntaxError: Invalid or unexpected token
          at Module._compile (internal/modules/cjs/loader.js:722:23)
          at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
          at Module.load (internal/modules/cjs/loader.js:645:32)
          at Function.Module._load (internal/modules/cjs/loader.js:560:12)
          at Module.require (internal/modules/cjs/loader.js:685:19)
          at require (internal/modules/cjs/helpers.js:16:16)
          at loadConfig (/home/pi/MagicMirror/js/app.js:67:12)
          at App.start (/home/pi/MagicMirror/js/app.js:202:3)
          at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:126:7)
          at Module._compile (internal/modules/cjs/loader.js:786:30)
      
      

      Do I need to add anything to the ID? I have tried adding quotes but that did not seem to work.

      thanks

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @cgethycx
        last edited by

        @cgethycx said in MMM-GoogleDriveSlideShow:

        rootFolderId: my id is here,

        the rules for values in config.js

        whatever to the right of : if its numbers (1, or 21.25) or true/false it does not need quotes
        if it contains letters or spaces (this is a test, or 232130-1485i2jelnefkhwerh (apikey) it must be quoted,
        single or double doesn’t matter as long as start and end are the same.

        so, under the rules above
        this

         rootFolderId: my id is here,
        

        should be at least

         rootFolderId: 'my id is here',
        

        read this helpful post
        https://forum.magicmirror.builders/topic/4231/how-to-add-modules-for-absolute-beginners?_=1593192855243

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        C 1 Reply Last reply Reply Quote 0
        • C Offline
          cgethycx @sdetweil
          last edited by

          @sdetweil thanks that helped somewhat. now MM2 loads but i just have a white box. Making progress though.

          1 Reply Last reply Reply Quote 0
          • C Offline
            clegallic
            last edited by

            Hi,

            You have to configure the module with the ID of the Google Drive folder (rootFolderId) where your photos are stored.

            You can check a complete answer here : https://github.com/clegallic/MMM-GoogleDriveSlideShow/issues/2#issuecomment-658843412

            Regards,

            Charles

            1 Reply Last reply Reply Quote 0
            • J Offline
              Jupter1
              last edited by

              Hi,
              first of all, I really like the ideaof the module. But I am currently stuck at creating the authentification with google and then the token. In step 7 of your readme, I have no “other” option to choose, so I chose “web application”. But in step 9 (using VNC to access the magic mirror), the authentification fails.

              Do you have any idea what is my mistake?

              1 Reply Last reply Reply Quote 0
              • C Offline
                clegallic
                last edited by

                Hi Jupter,

                I don’t think you made a mistake, and that the “type” choice at step 7 has any importance.

                Can you check that your credentials.json file looks like that ?

                {"installed":{"client_id":"[something].apps.googleusercontent.com","project_id":"[something]","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"[something]","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}
                

                Can you send me the detail of the error while trying to authenticate at step 10 ?

                Regards,

                Charles

                A 1 Reply Last reply Reply Quote 0
                • J Offline
                  Jupter1
                  last edited by

                  Hi,
                  thank you for the overall looking of the JSON string. I checked it, it was not in this format. So I chose “Desktop” and now I got a credentials.json file that looks like your example. Then I tried again with a fresh module install from github. It still did not work.

                  Here is the debug-log, that I get from npm. I hope you can help me with that.

                  0 info it worked if it ends with ok
                  1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'token:generate' ]
                  2 info using npm@3.10.10
                  3 info using node@v6.14.2
                  4 verbose run-script [ 'pretoken:generate', 'token:generate', 'posttoken:generate' ]
                  5 info lifecycle mmm-googledriveslideshow@0.0.1~pretoken:generate: mmm-googledriveslideshow@0.0.1
                  6 silly lifecycle mmm-googledriveslideshow@0.0.1~pretoken:generate: no script for pretoken:generate, continuing
                  7 info lifecycle mmm-googledriveslideshow@0.0.1~token:generate: mmm-googledriveslideshow@0.0.1
                  8 verbose lifecycle mmm-googledriveslideshow@0.0.1~token:generate: unsafe-perm in lifecycle true
                  9 verbose lifecycle mmm-googledriveslideshow@0.0.1~token:generate: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/pi/MagicMirror/modules/MMM-GoogleDriveSlideShow/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
                  10 verbose lifecycle mmm-googledriveslideshow@0.0.1~token:generate: CWD: /home/pi/MagicMirror/modules/MMM-GoogleDriveSlideShow
                  11 silly lifecycle mmm-googledriveslideshow@0.0.1~token:generate: Args: [ '-c', 'node generate-auth-token.js' ]
                  12 silly lifecycle mmm-googledriveslideshow@0.0.1~token:generate: Returned: code: 1  signal: null
                  13 info lifecycle mmm-googledriveslideshow@0.0.1~token:generate: Failed to exec token:generate script
                  14 verbose stack Error: mmm-googledriveslideshow@0.0.1 token:generate: `node generate-auth-token.js`
                  14 verbose stack Exit status 1
                  14 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
                  14 verbose stack     at emitTwo (events.js:106:13)
                  14 verbose stack     at EventEmitter.emit (events.js:191:7)
                  14 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
                  14 verbose stack     at emitTwo (events.js:106:13)
                  14 verbose stack     at ChildProcess.emit (events.js:191:7)
                  14 verbose stack     at maybeClose (internal/child_process.js:920:16)
                  14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
                  15 verbose pkgid mmm-googledriveslideshow@0.0.1
                  16 verbose cwd /home/pi/MagicMirror/modules/MMM-GoogleDriveSlideShow
                  17 error Linux 4.19.66-v7+
                  18 error argv "/usr/bin/node" "/usr/bin/npm" "run" "token:generate"
                  19 error node v6.14.2
                  20 error npm  v3.10.10
                  21 error code ELIFECYCLE
                  22 error mmm-googledriveslideshow@0.0.1 token:generate: `node generate-auth-token.js`
                  22 error Exit status 1
                  23 error Failed at the mmm-googledriveslideshow@0.0.1 token:generate script 'node generate-auth-token.js'.
                  23 error Make sure you have the latest version of node.js and npm installed.
                  23 error If you do, this is most likely a problem with the mmm-googledriveslideshow package,
                  23 error not with npm itself.
                  23 error Tell the author that this fails on your system:
                  23 error     node generate-auth-token.js
                  23 error You can get information on how to open an issue for this project with:
                  23 error     npm bugs mmm-googledriveslideshow
                  23 error Or if that isn't available, you can get their info via:
                  23 error     npm owner ls mmm-googledriveslideshow
                  23 error There is likely additional logging output above.
                  24 verbose exit [ 1, true ]
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    clegallic
                    last edited by

                    Hi,

                    I can’t see any clue in your logs that can explain the issue.
                    My Node version is slightly more recent than yours (v10.17.0 when yours is v6.14.2), it may be a reason.

                    Can you try to run the npm run token:generatecommand through SSH ?
                    Do you have the same error ?

                    Regards,

                    Charles

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jupter1 @clegallic
                      last edited by

                      @clegallic
                      Thank you for your support. I will try to update node and see if that fixes the problem and/or if running it via ssh changes anything when I am home again next week.

                      1 Reply Last reply Reply Quote 0
                      • J Offline
                        Jupter1
                        last edited by

                        @clegallic
                        So I have tried to update node (v12.x) and voilà, now it works like a charm! Thank you for your support and this awsome module!

                        1 Reply Last reply Reply Quote 0
                        • C Offline
                          clegallic
                          last edited by

                          I’m glad to hear that your problem is now resolved. Have fun with the module.

                          Regards,

                          Charles

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            chen31
                            last edited by

                            Hello,
                            First of all thank you, great module.
                            I have a question regard the picture size, there is a way to automatic resize the picture to the max WxH that I config in the module setup?

                            S 1 Reply Last reply Reply Quote 0
                            • S Offline
                              sdetweil @chen31
                              last edited by

                              @chen31 does the module readme give u any info on re/sizing image display?

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              C 1 Reply Last reply Reply Quote 0
                              • C Offline
                                chen31 @sdetweil
                                last edited by

                                @sdetweil
                                No.
                                I have been over this a few times, except the max W and H, nothing.

                                The max W/H cut the photo in my case.

                                C 1 Reply Last reply Reply Quote 0
                                • E Offline
                                  emrah_asl
                                  last edited by

                                  Hi, after deleted my photo from google drive , it still show even I change

                                  refreshDriveDelayInSeconds: 5000,
                                  refreshSlideShowIntervalInSeconds: 15,

                                  How can I clear cache ? any idea

                                  thank you for your helping.

                                  1 Reply Last reply Reply Quote 0
                                  • E Offline
                                    emrah_asl
                                    last edited by

                                    I changed code like below to fix my problem @sdetweil in node_helper.js

                                    getPhotos: async function() {
                                    
                                    		// Check if need reload
                                    		
                                    		// Get cache if not already loaded and cache file exists (after a restart for example)
                                    		if(!this.cache.created && this.cacheFileExists()){
                                    
                                    			let needReload = !this.cache || (new Date().getTime() - this.cache.created) / 1000 > this.config.refreshDriveDelayInSeconds;
                                    
                                    			// (re)create the cache if missing or expired
                                    			if(needReload){
                                    				this.log("No cache file, or expired, (re)creating it...");
                                    				await this.createCache();
                                    				this.cache.photos = await this.cache.photos.filter(photo=> !this.alreadySentPhotoIds.includes(photo.id));
                                    			} else
                                    
                                    			this.log("No memory cache, loading it from disk");
                                    			await this.loadCache();
                                    
                                    		} else this.createCache();
                                    
                                    		return this.cache.photos;
                                    	}
                                    
                                    S 1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      sdetweil @emrah_asl
                                      last edited by

                                      @emrah_asl you should submit that back to the author

                                      github fork the repo (top right button)
                                      download the fork
                                      change the forked code,
                                      git add/git commit/ git push
                                      then github create pull request to author

                                      then U have your saved copy on fork, and have contributed to improved module

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      E 1 Reply Last reply Reply Quote 0
                                      • E Offline
                                        emrah_asl @sdetweil
                                        last edited by

                                        @sdetweil Sure. I will this tomorrow, I’m just testing the changes.

                                        this time, client always sending request to google drive.

                                        I am not sure that my tricks are correct way.

                                        C 1 Reply Last reply Reply Quote 0
                                        • C Offline
                                          clegallic @chen31
                                          last edited by

                                          Hi @chen31

                                          The module is designed to adapt the display size of the image based on your maxWidth and maxHeight configuration (see there)

                                          If it does not works, perhaps the display is cut by another module above on your MagicMirror ?

                                          If not, can you share a screenshot to let me understand the problem.

                                          Regards,

                                          Charles

                                          C 1 Reply Last reply Reply Quote 0
                                          • C Offline
                                            clegallic @emrah_asl
                                            last edited by

                                            @emrah_asl
                                            Hi,

                                            @sdetweil is right, feel free to create a pull request.

                                            If you want to force cache reloading, you can also delete the .cache file in the module folder.

                                            The default cache lifetime is 24 hours (refreshDriveDelayInSeconds configuration parameter).

                                            Regards,

                                            Charles

                                            E 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy