Minecraft API로 객체가 아닌 속성을 얻으려고합니다.

JLWillliamsUK

저는 Minecraft API로 작업 중이며 JSON을 디코딩하고 다른 지점에서 호출 할 수 있도록 키를 변수로 설정하려고합니다. 오류를 생성하는 코드는 다음과 같습니다.

//grabbing the users information
if ($content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username))) {
    //do nothing
} else {
    $content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username) . '?at=0');
    $json = json_decode($content);

    foreach ($json as $currentName) {
        $input = $currentName->name;
    }

    $userSkin = "<img src='https://mcapi.ca/skin/3d/$currentName' />";
}

그리고 여기에 오류가 있습니다.

31 행에서 ...에서 비 객체의 속성을 얻으려고합니다.

전체 PHP 코드 :

<?php

// Load the username from somewhere
if (
$username = $_POST["username"]
) {
    //do nothing 
} else {
    $username = "notch";
}


//allow the user to change the skin
$skinChange = "<a href='https://minecraft.net/profile/skin/remote?url=http://skins.minecraft.net/MinecraftSkins/$username.png' target='_blank' </a>";

//url to users 3D head (avatar)
$usersAvatar = "https://mcapi.ca/avatar/2d/$username/55";

//user's Avatar as favivon
$usersFavicon = "<link rel='shortcut icon' href='$usersAvatar' type='image/png' />";

//grabbing the users information
if ($content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username))
) {
  //do nothing
} else {
  $content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username) . '?at=0');
   $json = json_decode($content);

   foreach ($json as $currentName) {
    $input = $json['name'];
   }

   $userSkin = "<img src='https://mcapi.ca/skin/3d/$currentName' />";
}


// Decode it
$json = json_decode($content);

// Check for error
if (!empty($json->error)) {
    die('An error happened: ' . $json->errorMessage);
}

// Save the uuid
$uuid = $json->id;

// Get the history (using $json->uuid)
$content = file_get_contents('https://api.mojang.com/user/profiles/' . urlencode($uuid) . '/names');

// Decode it
$json = json_decode($content);

$names = array(); // Create a new array

foreach ($json as $name) {
    $input = $name->name;

    if (!empty($name->changedToAt)) {
        // Convert to YYYY-MM-DD HH:MM:SS format
        $time = date('Y-m-d H:i:s', $name->changedToAt);

        $input .= ' (changed at ' . $time . ')';
    }

    $names[] = $input; // Add each "name" value to our array "names"

}

//use $uuid tp grab UUID of the user - ---- - - - use $names to get name history of the user.



?>

를 사용 var_dump($currentName);하면이 출력이 생성됩니다.string(8) "_scrunch"

ʰᵈˑ

문제 # 1-사용자를 찾을 수 없음

에 따라 문서 ;

주어진 사용자 이름을 가진 플레이어가 없으면 HTTP 본문없이 HTTP 상태 코드 204 (콘텐츠 없음)가 전송 됩니다 .

이것은 json_decode();유효하지 않은 json 문자열을 수행한다는 것을 의미합니다 $json. 이로 인해 객체가 아니므로 오류가 발생합니다.

당신은 당신의 코드를 변경해야

$content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username) . '?at=0');
if( $http_response_header['0'] == "HTTP/1.1 204 No Content") {
    echo "no user";
    die;
}
$json = json_decode($content);

이슈 # 2-당신의 foreach

1 차원 개체를 반복 할 때 개체 $currentName가 아닌 값 (문자열)이됩니다. 둘 중 하나를 수행하십시오.

foreach ($json as $currentName) {
   echo $currentName . PHP_EOL; //Echo id, then echo name
}

또는 속성에 직접 액세스

echo 'Id: '. $json->id;
echo '<br />';
echo 'Name: '. $json->name;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP에서 객체가 아닌 속성을 얻으려면 어떻게해야합니까?

분류에서Dev

객체가 아닌 'image_two'속성을 가져 오려고합니다.

분류에서Dev

객체가 아닌 'join_id'속성을 가져 오려고합니다.

분류에서Dev

객체가 아닌 Laravel의 속성을 얻으려는 오류 수정

분류에서Dev

객체가 아닌 Laravel의 속성을 얻으려고합니다 (문자열 가져 오기)

분류에서Dev

API에서 json의 비 객체 속성을 얻으려고합니다.

분류에서Dev

ErrorException 객체가 아닌 라 라벨의 속성을 얻으려고합니다.

분류에서Dev

laravel 객체가 아닌 오류의 'id'속성을 얻으려고합니다.

분류에서Dev

Laravel-dd가 아닌 뷰에서 비 객체의 속성 'id'를 얻으려고합니다.

분류에서Dev

Symfony2, Form, 객체가 아닌 속성을 얻으려고

분류에서Dev

yii : 객체가 아닌 속성을 얻으려고

분류에서Dev

Laravel 4 Eloquent가 아닌 객체의 속성을 얻으려고

분류에서Dev

Codeigniter 템플릿에서 객체가 아닌 속성을 가져 오려고합니다.

분류에서Dev

codeigniter 사용자 로그인에서 객체가 아닌 속성을 가져 오려고합니다.

분류에서Dev

PHP, PDO, MySQL,주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

Laravel 5.1 : 관계가있는 foreach 루프에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

PHP PDO에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

라 라벨 관계 오류-객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

Laravel : 파일 입력에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

php주의 사항 : 객체가 아닌 속성을 얻으려고

분류에서Dev

PHP LARAVEL 5.2에서 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 속성을 얻으려고 시도 함 [laravel 5.2]

분류에서Dev

객체 자체가 아닌 프로토 타입 체인의 속성을 얻는 방법은 무엇입니까?

분류에서Dev

PHP주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 laravel 5.3의 속성을 얻으려고합니다.

분류에서Dev

PHP주의 사항 : 객체가 아닌 라인 638의 속성을 얻으려고합니다.

분류에서Dev

Codeigniter : row ()의 객체가 아닌 속성을 얻으려고합니다.

분류에서Dev

객체가 아닌 속성을 얻으려고-PHP

분류에서Dev

객체가 아닌 CRUD의 속성을 얻으려고합니다.

Related 관련 기사

  1. 1

    PHP에서 객체가 아닌 속성을 얻으려면 어떻게해야합니까?

  2. 2

    객체가 아닌 'image_two'속성을 가져 오려고합니다.

  3. 3

    객체가 아닌 'join_id'속성을 가져 오려고합니다.

  4. 4

    객체가 아닌 Laravel의 속성을 얻으려는 오류 수정

  5. 5

    객체가 아닌 Laravel의 속성을 얻으려고합니다 (문자열 가져 오기)

  6. 6

    API에서 json의 비 객체 속성을 얻으려고합니다.

  7. 7

    ErrorException 객체가 아닌 라 라벨의 속성을 얻으려고합니다.

  8. 8

    laravel 객체가 아닌 오류의 'id'속성을 얻으려고합니다.

  9. 9

    Laravel-dd가 아닌 뷰에서 비 객체의 속성 'id'를 얻으려고합니다.

  10. 10

    Symfony2, Form, 객체가 아닌 속성을 얻으려고

  11. 11

    yii : 객체가 아닌 속성을 얻으려고

  12. 12

    Laravel 4 Eloquent가 아닌 객체의 속성을 얻으려고

  13. 13

    Codeigniter 템플릿에서 객체가 아닌 속성을 가져 오려고합니다.

  14. 14

    codeigniter 사용자 로그인에서 객체가 아닌 속성을 가져 오려고합니다.

  15. 15

    PHP, PDO, MySQL,주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

  16. 16

    Laravel 5.1 : 관계가있는 foreach 루프에서 객체가 아닌 속성을 얻으려고합니다.

  17. 17

    PHP PDO에서 객체가 아닌 속성을 얻으려고합니다.

  18. 18

    라 라벨 관계 오류-객체가 아닌 속성을 얻으려고합니다.

  19. 19

    Laravel : 파일 입력에서 객체가 아닌 속성을 얻으려고합니다.

  20. 20

    php주의 사항 : 객체가 아닌 속성을 얻으려고

  21. 21

    PHP LARAVEL 5.2에서 객체가 아닌 속성을 얻으려고합니다.

  22. 22

    객체가 아닌 속성을 얻으려고 시도 함 [laravel 5.2]

  23. 23

    객체 자체가 아닌 프로토 타입 체인의 속성을 얻는 방법은 무엇입니까?

  24. 24

    PHP주의 사항 : 객체가 아닌 속성을 얻으려고합니다.

  25. 25

    객체가 아닌 laravel 5.3의 속성을 얻으려고합니다.

  26. 26

    PHP주의 사항 : 객체가 아닌 라인 638의 속성을 얻으려고합니다.

  27. 27

    Codeigniter : row ()의 객체가 아닌 속성을 얻으려고합니다.

  28. 28

    객체가 아닌 속성을 얻으려고-PHP

  29. 29

    객체가 아닌 CRUD의 속성을 얻으려고합니다.

뜨겁다태그

보관