Я не уверен, должен ли я идти по заголовку или контенту сообщения с точки зрения ответа на ваш вопрос, поэтому я предоставлю очень простой пример того, как получить информацию от API и сделать что-то с этим здесь.
Я предоставил более глубокий ответ, связанные специально для захвата деталей из API для создания учетной записи пользователя здесь:. https://github.com/froatsnook/meteor-shopify/issues/15#issuecomment-177413630
Похоже, обратный вызов предполагает, что пользователь уже вошел в
Параметр userId
не определен, если пользователя нет. Если вашим операциям onAuth
ничего не нужно делать с пользователем, вы можете просто оставить его вне параметров. В вашем случае, вы просто хотите, чтобы справиться с этим условно с использованием if
/else
блок:
if(!userId){
// do stuff
} else {
// do other stuff
}
На к примеру захватывая эти детали из API:
Вся информация заполняемых вы видите, доступный с Shopify API in the shop
object. У вас уже есть токен доступа, когда вызываются обратные вызовы onAuth
, поэтому вы можете просто взять его из API сразу после того, как вы вставили Keyset магазина.
Для простоты в этом примере мы предположим, что пользователь уже существует и входит в систему. На вашем обратном вызове onAuth
(после того, как вы вставили ключ), вы можете сделать что-то вроде этого, чтобы добавить эти поля для пользователя profile
объекта:
Shopify.onAuth(function(access_token, authConfig, userId) {
var shopUUID = uuid.new(); // Not secure to name keyset same as the shop!
Shopify.addKeyset(shopUUID, {
access_token: access_token
});
var api = new Shopify.API({
shop: authConfig.shop,
keyset: shopUUID
});
// get the Shop object from the API
var shopObj = api.getShop();
var userInfo = {
'profile.name': shopObj.shop_owner,
'profile.email': shopObj.email,
'profile.phone': shopObj.phone,
'profile.shopName': shopObj.name
};
Meteor.users.update({_id: userId}, {$set: userInfo})
});
Затем вы можете использовать их в шаблонах, как это:
{{currentUser.profile.name}}
или {{currentUser.profile.email}}
или в функциях л икэ так:
var realName = Meteor.user().profile.name
или
var userEmail = Meteor.user().profile.email
и т.д.
Для дополнительной информации об использовании этих данных для создания пользователей, см моего объяснения здесь: https://github.com/froatsnook/meteor-shopify/issues/15#issuecomment-177413630