-1

嗨,我在尝试在 Facebook 图表上获取工作职位名称时遇到问题。我尝试过的(在json中):

    https://graph.facebook.com/me?access_token=ABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJK

    {
    "id":"123456789",
    “名字”:“我我”,
    “工作”: [
    {
    “位置”: {
    "id":"987654321",
    “名称”:“管理员”
            }
    }
    ]
    }

在这里,我尝试使用“user_work_history”,它的权限似乎已被授权。

    echo json_decode(file_get_contents('https://graph.facebook.com/'.$useid))->work->position->name

我需要做什么来解决这个问题?

4

1 回答 1

1

出色地。简短的回答是工作对象是一个对象数组,因此您需要访问适当的数组元素。以下应该可以解决问题:

    echo json_decode(file_get_contents('https://graph.facebook.com/'.$useid))->work[0]->position->name

更长的答案包括一些风格的挑剔——我个人会将代码分成至少两行,主要是为了可读性,我通常更喜欢从 json_decode 而不是对象获取 assoc 数组,但无论哪种方式都可以。这是我如何重写它的近似值(暂时忽略您没有使用 PHP SDK,您可能应该使用它)。不一定是最佳实践(我不声称自己是权威:p),但是,恕我直言,更容易快速阅读、理解、调试和调整:

$json = file_get_contents('https://graph.facebook.com/' . $user_id);
$user = json_decode($json, true);
$job_title = $user['work'][0]['position']['name'];
于 2012-10-23T23:22:29.143 回答