mckelvey / instagram-node-lib

The Instagram Node Lib is a helper library for node that makes communicating with the Instagram API easy.
http://david.mckelveycreative.com/
Other
303 stars 49 forks source link

More of a question about InstagramAPI._credentials #4

Closed chiefy closed 12 years ago

chiefy commented 12 years ago

First off: thanks for your work on this, I am messing around w/ Instagram for fun right now, but have a few ideas for an app I want to develop.

I was kind of confused by the documentation. So I have my script (using express) logging in and getting a valid access_token. In my Instagram.oauth.ask_for_access_token callback I am setting the access_token as:

Instagram.set("access_token", params["access_token"]);

Then when I try to call Instagram.users.self() without any parameters, I get an error. I looked through the code and it looks like it should be defaulting to Instagram_config["access_token"] but it doesn't get that far - it gets to:

  if ((require != null) && (params[require] != null) || (params['access_token'] != null) || (params['client_id'] != null)) {
        return params;
      }

(sorry, compiled - I'm not so much into CS yet)

And it dies on that line - here's the trace:

TypeError: Cannot read property 'access_token' of undefined
    at InstagramAPI._credentials (/Users/chief/node_modules/instagram-node-lib/lib/class.instagram.js:133:39)
    at InstagramUsers.self (/Users/chief/node_modules/instagram-node-lib/lib/class.instagram.users.js:25:28)
    at /Users/chief/Scripts/getlikes.js:28:26
    at callbacks (/Users/chief/node_modules/express/lib/router/index.js:272:11)
    at param (/Users/chief/node_modules/express/lib/router/index.js:246:11)
    at pass (/Users/chief/node_modules/express/lib/router/index.js:253:5)
    at Router._dispatch (/Users/chief/node_modules/express/lib/router/index.js:280:4)
    at Object.handle (/Users/chief/node_modules/express/lib/router/index.js:45:10)
    at next (/Users/chief/node_modules/express/node_modules/connect/lib/http.js:203:15)
    at Object.handle (/Users/chief/node_modules/express/lib/http.js:84:5)

I am not sure if this is by design, but later you're checking for this._config['access_token'] so maybe a check if params === undefined is needed?

Anyhow, thanks again for your work.

mckelvey commented 12 years ago

I’m thinking you’re right about the params check @chiefy. I'll get that added — thanks for the heads up.

D

joemccann commented 12 years ago

did this get added? I'm getting the same issue now...

mckelvey commented 12 years ago

I believe I did @joemccann, but this might be related to #6, which is in the works. I’ll check while there.

joemccann commented 12 years ago

I fixed it...i'll submit a pull request

mckelvey commented 12 years ago

Wonderful, please do.