タイトルが示すように、APIサービスの(大きな)変更後もSkypeでユーザーのステータス(オンライン、オフライン、ビジーなど)を確認することは可能ですか?開発者セクションは現在非常に制限されているようです: http://developer.skype.com/
はいあります。
オンラインステータスを検出するために使用できるURLがいくつかあります。
これにより、ステータス名が記載されたテキストが表示されます(例:離れているかオンライン)
http://mystatus.skype.com/SKYPENAME.txt
これにより、数値のSkypeステータスコードが得られます(以下のリストを参照)
http://mystatus.skype.com/SKYPENAME.num
これにより、異なる言語の数値ステータスコードとステータステキストを含むxml出力が得られます
http://mystatus.skype.com/SKYPENAME.xml
最後に、さまざまなステータスアイコン画像を表示するURLがあります。
「smallicon」または「smallclassic」を好きな画像に置き換えます。 (可能な値:balloon、bigclassic、smallclassic、smallicon、mediumicon、dropdown-white、dropdown-trans)
http://mystatus.skype.com/smallicon/SKYPENAMEhttp://mystatus.skype.com/smallclassic/SKYPENAMEhttp:// mystatus。 skype.com/SKYPENAME
In PHP最良の方法は、私の関数を使用することです。
/**
* @version: 1.0 (2014-05-13
*
* @param: String $username Skype Username
* @param: [String $lang] Languagecode (possible values 2014-05-13: "en", "fr", "de","ja", "zh-cn", "zh-tw", "pt", "pt-br", "it", "es", "pl" , "pl"
* @param: [String $img_time] Typ im Status Image wich you like to show (Possible values: 2014-05-13: balloon, bigclassic, smallclassic, smallicon, mediumicon, dropdown-white, dropdown-trans)
*
* @return array "num" = Skype Statuscode, "text" = Statustext (Away" ect.), "img_url" url to Statuscode Image
*/
function getSkypeStatus($username, $lang = "de", $img_type = "mediumicon")
{
$url = "http://mystatus.skype.com/".$username.".xml";
$data = @file_get_contents($url);
$status = array();
if($data === false)
{
$status = array("num" =>0,
"text"=>"http error"
);
if(isset($http_response_header)) $status["error_info"] = $http_response_header;
}
else
{
$pattern = '/xml:lang="NUM">(.*)</';
preg_match($pattern,$data, $match);
$status["num"] = $match[1];
$pattern = '/xml:lang="' . $lang .'">(.*)</';
preg_match($pattern,$data, $match);
$status["text"] = $match[1];
$status["img_url"] = "http://mystatus.skype.com/".$img_type."/".$username;
}
return $status;
}
使用法:
$status = getSkypeStatus("YourSkypeName"); // Minimal
$status = getSkypeStatus("YourSkypeName","de"); // with defined language for Statustext
$status = getSkypeStatus("YourSkypeName","de", "mediumicon"); // with specified image
// to display status Icon:
echo '<img src="'.$status["img_url"].'" alt="'.$status["text"].'" title="'.$status["text"].'">';
// or if you like to do you own code for different status
switch($status["num"])
{
case 7:
case 2: echo "You are online"; break;
default: echo "you are offline or in away state";
}
考えられるステータスメッセージ(英語)は次のとおりです。
可能な数値ステータスコード:
私はこれらの情報を次のスレッドから得ています: https://stackoverflow.com/a/16320950/2377961https://stackoverflow.com/a/6426418/2377961
更新2014-12-19:
知っておくことが重要です。Skypeステータスの確認は、ユーザーが「インターネットでのマイステータス」または「Mein StatusdarfimNetzveröffentlichtwerden」(ドイツ語)を有効にしている場合にのみ機能します。それ以外の場合、ステータスは常に「オフライン」です。
チェックボックスがSkypeオプションから消えました。