Twitter API - 更新个人资料

时间:2010-01-02 17:35:14

标签: php twitter

我正在查看Twitter API:http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0update_profile

我想通过PHP更新我的个人资料。

具体来说我的位置:旧金山,加利福尼亚州

我不是在寻找任何花哨的东西,只是一种调用XML,检查其内容,然后在适当的时候写入新值的方法。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

public function updateProfile($name = null, $email = null, $url = null, $location = null, $description = null)
    {
        // validate parameters
        if($name === null && $email === null && $url === null && $location === null && $description === null) throw new TwitterException('Specify at least one parameter.');
        if($name !== null && strlen($name) > 40) throw new TwitterException('Maximum 40 characters allowed for name.');
        if($email !== null && strlen($email) > 40) throw new TwitterException('Maximum 40 characters allowed for email.');
        if($url !== null && strlen($url) > 100) throw new TwitterException('Maximum 100 characters allowed for url.');
        if($location !== null && strlen($location) > 30) throw new TwitterException('Maximum 30 characters allowed for location.');
        if($description !== null && strlen($description) > 160) throw new TwitterException('Maximum 160 characters allowed for description.');

        // build parameters
        if($name !== null) $aParameters['name'] = (string) $name;
        if($email !== null) $aParameters['email'] = (string) $email;
        if($url !== null) $aParameters['url'] = (string) $url;
        if($location !== null) $aParameters['location'] = (string) $location;
        if($description !== null) $aParameters['description'] = (string) $description;

        // make the call
        $response = $this->doCall('account/update_profile.xml', $aParameters, true);

        // convert into xml-object
        $xml = @simplexml_load_string($response);

        // validate
        if($xml == false) throw new TwitterException('invalid body');

        // return
        return (array) $this->userXMLToArray($xml, true);
    }

答案 1 :(得分:-1)

curl -u user:password -d "location=San Francisco, CA" http://twitter.com/account/update_profile.xml