API 값 불러오기

API 값 불러오기

QA

API 값 불러오기

본문

회원가입시 또는 페이지를 만들건데 동기화? 버튼을 누르게되면

API ( https://api.mojang.com/users/profiles/minecraft/<회원아이디> ) 에서 

id 옆에 : 다음 "~" 부분을 불러와서 mb_1(여분 필드 1) 에 저장되게끔 하고 싶거든요..

근데 이거를 어떻게 해야할지.. 막막합니다.. 어디서부터 어떻게 해야할까요?

 

+ 혹시 이게 가능하다면 저기서 ID 형태가 

029d61c8c3e067413afdc7c8821c22869 이런식으로 되어있는데, 이거를 029d61c8-c3e0-6741-3afd-c7c8821c22869 이런 형식으로
8글자 후에 "-" 4글자 후에 "-" 이렇게 바꿔서 등록할 수 있나요..?
정말 막막합니다 ㅠㅠ 제작의뢰 말고 제가 공부하면서 해보려고 하는데
찾아도 무슨소리인지 이해가 잘 안돼요..
힌트나 방법을 알려주시면 정말 감사하겠습니다..

이 질문에 댓글 쓰기 :

답변 1

설명이 부족해서 뭘하실려는지 알수 없네요

api를 연동하게된다면 응답시에 만들어지는건가요?

'-'으로 문자를 나눠는 방법은 정규식등 여러방법이 있지만, substr함수를 사용했습니다.


$u = 'https://api.mojang.com/users/profiles/minecraft/~029d61c8c3e067413afdc7c8821c22869';
$pos = strpos($u, '~');
$str = substr($u, $pos+1);
echo substr($str, 0, 8).'-'.substr($str, 8, 4).'-'.substr($str, 12, 4).'-'.substr($str, 16, 4).'-'.substr($str, 20);

회원저장부분은 어느곳에서 사용하는지 알수없기때문에 회원정보의 생성/업데이트 부분 쿼리로 대체합니다.

회원정보 생성
https://github.com/gnuboard/gnuboard5/blob/5353f7528437e6fc43c3ca184d78460b130b32ec/bbs/register_form_update.php#L206

회원정보 업데이트
https://github.com/gnuboard/gnuboard5/blob/master/bbs/register_form_update.php#L330

curl로 사용하시면 됩니다.


<?php

$username = 'seokyun_0718';
$apiUrl = 'https://api.mojang.com/users/profiles/minecraft/';

$ch = curl_init($apiUrl.$username);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result=curl_exec($ch);
curl_close($ch);

$r = json_decode($result, true);
$str = $r['id'];
echo substr($str, 0, 8).'-'.substr($str, 8, 4).'-'.substr($str, 12, 4).'-'.substr($str, 16, 4).'-'.substr($str, 20);

답변을 작성하시기 전에 로그인 해주세요.
전체 49
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT