Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получение username по API js (https://javascript.ru/forum/misc/83204-poluchenie-username-po-api-js.html)

StartGames 13.10.2021 18:54

Получение username по API js
 
Здравствуйте.
Пытаюсь получить отсюда: https://api.opensea.io/api/v1/bundle...it=20&offset=0
Значение поля username: http://joxi.ru/5md9K1KcaMMDl2

вот такую конструкцию сделал:
<script>
$(document).ready(function(){
  let response;
  (async function () {
    const options = {method: 'GET'};
    await fetch('https://api.opensea.io/api/v1/bundles?owner=0x30f2449b71a67bb22e09eee89438431686189068&limit=20&offset=0', options)
    .then(response => response.json())
    .then(response => console.log(response))
  })()
});
</script>


Данные попадают в консоль: http://joxi.ru/82QXJjJiVMMLam

Но как достать оттуда значение NFT_Boss из поля username?

Такое не работает:

$('#test_api').html(response);

StartGames 13.10.2021 19:24

Сделал так:
<script>
$(document).ready(function(){
  let response;
  fetch('https://api.opensea.io/api/v1/bundles?owner=0x30f2449b71a67bb22e09eee89438431686189068')
  .then(response => response.json())
  .then(response => console.log(response))
  .then(bundles => alert(maker.bundles.user.username));
});
</script>


но выдает ошибку http://joxi.ru/KAgVR5RcNZyKG2

StartGames 13.10.2021 19:25

А вот такой пример работает идеально:
fetch('https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits')
  .then(response => response.json())
  .then(commits => alert(commits[0].author.login));


Но мне нужно получить данные именно с https://api.opensea.io/api/v1/bundle...431686 189068

voraa 13.10.2021 20:09

fetch('https://api.opensea.io/api/v1/bundles?owner=0x30f2449b71a67bb22e09eee89438431686 189068')
.then(response => response.json())
.then(response => console.log(response.maker.bundles.user.username))

Как то так.
Хотя всего response не видно. Может там до maker еще что то есть.

StartGames 13.10.2021 20:36

спасибо но выдает такую ошибку: http://joxi.ru/krDQagaTgkVXlm

Путь к username в консоли: http://joxi.ru/nAy1lplUaBqlaA
Наглядный путь если перейти по ссылке api: http://joxi.ru/EA4Y0d0Uvzl6Jr
Сама ссылка откуда беру данные: https://api.opensea.io/api/v1/bundle...it=20&offset=0

Можно также получать данные в таком виде если это поможет: https://api.opensea.io/api/v1/bundle...38431686189068

Я уже сижу с 5 часов и никак не понимаю в чем беда...

ksa 13.10.2021 20:49

Цитата:

Сообщение от StartGames
Я уже сижу с 5 часов и никак не понимаю в чем беда...

Если я правильно рассмотрел твои картинки... После преобразования JSON в объект, нужную строку можно будет получить так
obj.bundles[0].maker.user.username


bundles там ведь массив с объектами...
StartGames, не ленись в следующий раз - не картинки шли, а нормальным текстом сюда вставляй.
Тогда это можно будет тестом простым проверить...

StartGames 13.10.2021 21:05

Цитата:

StartGames, не ленись в следующий раз - не картинки шли, а нормальным текстом сюда вставляй.
Тогда это можно будет тестом простым проверить...
ОГРОМНОЕ спасибо, приму к сведению) Но на 5м часу я готов был вам отправить хоть телеграмой)))

Наконец то я увидел это: http://joxi.ru/5md9K1KcaMlBy2

Но не все так просто. Нужно еще возвращать данные из консоли, потому что она их кушает. Вот верный вариант решения:

$(document).ready(function(){
  let response;
  fetch('https://api.opensea.io/api/v1/bundles?owner=0x30f2449b71a67bb22e09eee89438431686189068&limit=20&offset=0')
  .then(response => response.json())
  .then(response => {
      console.log(response);
      return response;
  })
  .then(response => alert(response.bundles[0].maker.user.username));
});


Огромное спасибо ksa и voraa Вы реально меня выручили)))


Часовой пояс GMT +3, время: 16:05.