【发布时间】:2010-01-02 17:35:14
【问题描述】:
我正在查看 Twitter API:http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0update_profile
我想通过 PHP 更新我的个人资料。
特别是我的位置:加利福尼亚州旧金山
我不是在寻找任何花哨的东西,只是一种调用 XML、检查其内容,然后在适当的情况下写入新值的方法。
谁能指出我正确的方向?
【问题讨论】:
我正在查看 Twitter API:http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0update_profile
我想通过 PHP 更新我的个人资料。
特别是我的位置:加利福尼亚州旧金山
我不是在寻找任何花哨的东西,只是一种调用 XML、检查其内容,然后在适当的情况下写入新值的方法。
谁能指出我正确的方向?
【问题讨论】:
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);
}
【讨论】:
curl -u user:password -d "location=San Francisco, CA" http://twitter.com/account/update_profile.xml
【讨论】: