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-GooglePhotos

    Scheduled Pinned Locked Moved Entertainment
    294 Posts 56 Posters 341.2k Views 59 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.
    • ? Offline
      A Former User @kivlow
      last edited by

      @kivlow
      What kind of RPI do you use? As you said “taskbar”, Is it RPI 2 or 3 with Jessie or Stretch Desktop, right?
      And, Have RPI had any browser (Chromium or Midori?)?

      I’ll change some code for the case of not opening browser automatically, Please wait a while.

      1 Reply Last reply Reply Quote 0
      • K Offline
        kivlow
        last edited by

        I use raspberry pi 3b with raspbian borwser chromium.
        cool i wait :] p.s. express response

        ? 1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User @kivlow
          last edited by A Former User

          @kivlow
          I’ve fixed.

          cd ~/MagicMirror/modules/MMM-GooglePhotos
          git pull
          node auth_and_test.js
          

          You can see like this image;
          0_1533301658779_tt.png

          When the browser is not be opened automatically, copy the url and paste it into your browser manually.

          K 1 Reply Last reply Reply Quote 0
          • N Offline
            NathTheDude
            last edited by

            Hi Sean,

            Firstly thank you for this, it has great potential and is something that has been missing for such a long time compared to the alternative dakboard that I was forced to use to get photos displayed.

            I have an issue though, I believe I have been through the steps correctly but can not get it to work. When I reboot my RPI2 it looks like the ‘auth_and_test.js’ is ran and this brings up the browser with googlin login and if I follow this through it gives me the code which is the same experience I have when running ‘auth_and_test.js’ in order to get the album id.

            This then repeats itself every 5mins or so…

            I have added the album id in the config.js but it does not seem to matter if I put a correct or incorrect one in here the same happens. It does not look like it trys to put images on the desktop so I don’t think the module is getting that far.

            Any idea what I have done wrong?

            Thanks

            Nathan

            ? 1 Reply Last reply Reply Quote 0
            • ? Offline
              A Former User @NathTheDude
              last edited by

              @naththedude
              You mean, your MM is trying to re-auth again(every 5 mins.) right?
              First, you should check whether you have token.json in root directory of MMM-GooglePhotos.

              cd ~/MagicMirror/modules/MMM-GooglePhotos
              cat token.json
              

              It should be something similar with this;

              {"access_token":"...","token_type":"Bearer","scope":"https://www.googleapis.com/auth/photoslibrary.readonly","expiry_date":1533304224450,"refresh_token":"..."}
              

              Your simptom would happen when token.json is missed.

              token.json should be generated as result of auth_and_test.js

              1 Reply Last reply Reply Quote 0
              • N Offline
                NathTheDude
                last edited by

                Hey @Sean ,

                Thank you for your quite reply, you are correct the token.josn file was missing. Looks like I needed to run ‘node auth_and_test’ as sudo for this file to be created. Once I did this the photos started to appear :) just need to configure the size and position now.

                Thank you again.

                Regards

                Nathan

                ? 1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User @NathTheDude
                  last edited by

                  @naththedude good to you.
                  The only thing I worry is, if you run as sudo there could be a possibility of a problem to refresh token with proper authority.

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    kivlow @Guest
                    last edited by kivlow

                    @sean
                    hello :]
                    I make git pull but nothing change :/
                    still when i wrote in terminal even sudo node auth_and_test.js i get only info that is started.
                    my chromium not open and i dont have any link it termina to past it in chromium :[.

                    ? 1 Reply Last reply Reply Quote 0
                    • ? Offline
                      A Former User @kivlow
                      last edited by A Former User

                      @kivlow show me what is seen when you execute node auth_and_test.js. (Do not need to use sudo)

                      cd ~/MagicMirror/modules/MMM-GooglePhotos
                      node auth_and_test.js
                      
                      1 Reply Last reply Reply Quote 0
                      • K Offline
                        kivlow
                        last edited by

                        0_1533576642010_1533576615368-64525124.jpg

                        ? 1 Reply Last reply Reply Quote 0
                        • ? Offline
                          A Former User @kivlow
                          last edited by A Former User

                          @kivlow
                          Hmmm… very weird.
                          Could you try this?

                          cd ~/MagicMirror/modules/MMM-GooglePhotos
                          nano test.js
                          

                          Then, copy below and paste

                          'use strict';
                          
                          const request = require('request')
                          
                          const Auth = require('./auth.js')
                          
                          var authConfig = {
                            keyFilePath: "./credentials.json",
                            savedTokensPath: "./token.json",
                            scope: "https://www.googleapis.com/auth/photoslibrary.readonly"
                          }
                          
                          const auth = new Auth(authConfig)
                          
                          auth.on('ready', (client) => {
                            console.log("auth_and_test started.")
                            var token = client.credentials.access_token
                            console.log("token:", token)
                            function getAlbum(client, pageSize=50, pageToken="") {
                              var url = 'https://photoslibrary.googleapis.com/v1/albums'
                              url = url + "?pageSize=" + pageSize + "&pageToken=" + pageToken
                              console.log("url:", url)
                              request.get(
                                url,
                                {
                                  json:true,
                                  auth: {"bearer": token},
                                },
                          
                                (err, res, body) => {
                                  console.log("response:", body)
                                  if (err) {
                                    console.log("Error: ", err)
                                    process.exit(1);
                                  }
                                  var found = 0
                                  for (var i in body.albums) {
                                    var album = body.albums[i]
                                    console.log (album.title, " : ", album.id)
                                    found++;
                                  }
                                  if (body.nextPageToken && found > 0) {
                                    getAlbum(client, pageSize, body.nextPageToken)
                                  }
                                }
                              )
                            }
                            getAlbum(client, 50)
                          })
                          

                          Then, close and save (Ctrl+X and Y and enter)
                          Then try.

                          node test.js
                          

                          And show me the result.

                          1 Reply Last reply Reply Quote 0
                          • K Offline
                            kivlow
                            last edited by kivlow

                            :] thx you are the best :]

                            ? 2 Replies Last reply Reply Quote 0
                            • ? Offline
                              A Former User @kivlow
                              last edited by A Former User

                              @kivlow
                              Ok. Now I think I’ve found what’s wrong.
                              https://github.com/eouia/MMM-GooglePhotos#get-auth-and-albumid
                              You seem to have missed 4. Search for "Google Photos Library API". Select the correct result and click Enable. (You may need to enable "Google Plus" also.)
                              Do 1~4 again.
                              You can access your developer console with URL in the screen also.

                              1 Reply Last reply Reply Quote 0
                              • ? Offline
                                A Former User @kivlow
                                last edited by

                                @kivlow 0_1533622629700_이미지 2.png

                                1 Reply Last reply Reply Quote 0
                                • K Offline
                                  kivlow
                                  last edited by

                                  Ok i got it.
                                  I enable Photos Library at different account (i have two google account) so everything works fine right now :]

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ? Offline
                                    A Former User @kivlow
                                    last edited by

                                    @kivlow Good to you. It’s my pleasure. Have a nice day.

                                    1 Reply Last reply Reply Quote 0
                                    • K Offline
                                      kivlow
                                      last edited by

                                      Hello again ;p
                                      I have one question - how to show full picture but in spec dimension.
                                      I use top_right.
                                      I set display 1280x720 and from google 1920x1080.
                                      I see picture from google but many is cut :/

                                      ? 1 Reply Last reply Reply Quote 0
                                      • ? Offline
                                        A Former User @kivlow
                                        last edited by A Former User

                                        @kivlow
                                        mode:’cover’ will cover your entire target area, but cropped.
                                        mode:’contain’ will show entire image but resized(with black borders)

                                        1 Reply Last reply Reply Quote 0
                                        • K Offline
                                          kivlow
                                          last edited by

                                          :thumbs_up:
                                          works fine :]

                                          1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            bchabbert
                                            last edited by

                                            Hi,

                                            i have a problem when i paste my code error message:

                                            pi@raspberrypi:~/MagicMirror/modules/MMM-GooglePhotos $ cat toto.txt
                                            pi@raspberrypi:~/MagicMirror/modules/MMM-GooglePhotos $ node auth_and_test.js
                                            Opening OAuth URL.(https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fphotoslibrary.readonly&response_type=code&client_id=491102864701-4kg1b7lbb90bt2vsc0cuh5af5acefgje.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob) Return here with your code.
                                            Paste your code: 4/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                                            (node:3967) UnhandledPromiseRejectionWarning: Error: Error getting tokens:
                                            at oauthClient.getToken (/home/pi/MagicMirror/modules/MMM-GooglePhotos/auth.js:93:24)
                                            at /home/pi/MagicMirror/modules/MMM-GooglePhotos/node_modules/google-auth-library/build/src/auth/oauth2client.js:158:46
                                            at
                                            at process._tickCallback (internal/process/next_tick.js:182:7)
                                            (node:3967) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
                                            (node:3967) [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.

                                            Can you help me please ?

                                            Bérenger.

                                            ? 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
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 15
                                            • 13 / 15
                                            • 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