Read the statement by Michael Teeuw here.
Creating Module with API Key/Secret
-
Having trouble displaying the information that I received from Yelp API
getDom: function() { var self = this; var wrapper = document.createElement("div"); //If this.dataRequest is not empty if(this.data && this.data.length > 0){ console.log("MMM-Test: This.data is set" + this.data); //Name of Business var wrapperDataRequest = document.createElement("h1"); wrapperDataRequest.innerHTML = this.data; wrapperDataRequest.className = 'yelpBusinessName'; wrapper.appendChild(imgDataRequest); wrapper.appendChild(wrapperDataRequest); } else { console.log("MMM-Test: this.data couldn't be found"); wrapper.innerHTML = "This didn't work"; } return wrapper; },
MMM-Test: This.data is set{"id":"E8RJkjfdcwgtyoPMjQ_Olg","alias":"four-barrel-coffee-san-francisco","name":"Four Barrel Coffee","image_url":"https://s3-media1.fl.yelpcdn.com/bphoto/-_Ks4eF8aZcm3GZgUf5Urg/o.jpg","is_closed":false,"url":"https://www.yelp.com/biz/four-barrel-coffee-san-francisco?adjust_creative=joufChkTQP-Ru-G_5cRrMA&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=joufChkTQP-Ru-G_5cRrMA","review_count":2069,"categories":[{"alias":"coffee","title":"Coffee & Tea"}],"rating":4,"coordinates":{"latitude":37.7670169511878,"longitude":-122.42184275},"transactions":[],"price":"$","location":{"address1":"375 Valencia St","address2":"","address3":"","city":"San Francisco","zip_code":"94103","country":"US","state":"CA","display_address":["375 Valencia St","San Francisco, CA 94103"]},"phone":"+14158964289","display_phone":"(415) 896-4289","distance":1452.8696502343696}
How can I display name?
I tried this.data[0].name or this.data.name but no luck
-
@lilpkstud this.data is an object, not an array. So this.data.name should do the trick. In the code above you have only this.data!?
-
@lavolp3 I deleted this.data.name because I was getting undefined and I still am
-
This line of code will show a { on my mirror so I’m assuming everything is turned into a string?
I used JSON.stringify() in my node_helper file
wrapperDataRequest.innerHTML = this.data[0];
-
@lilpkstud said in Creating Module with API Key/Secret:
JSON.stringify()
correct… u converted the object to a string… don’t need to do that
just pass the object from helper up to module …
then it will use the this.data.name
-
@lilpkstud next to what sdetweil said you should also not save your result into this.data as it is an instance property which already contains data, see https://github.com/MichMich/MagicMirror/tree/master/modules#available-module-instance-properties for reference
-
@strawberry-3-141 should call it api_data maybe!
-
@sdetwell @strawberry-3-141 thanks guys got it to work!
I used JSON.Stringify() to look at the data when I was console.loggining so that was the reason why my object were turning into strings
-
@lilpkstud cool… if need it in strings someplace, need to convert it back object=JSON.parse(string)