2013-09-30 28 views
1

我試圖使用Outlook.com API在我的Outlook.com帳戶上創建聯繫人,但是他們沒有來自php的示例。我假設你必須使用PHP的REST API調用?從Outlook的Outlook.com API

顯然,格式是:使用REST例如

GET https://apis.live.net/v5.0/contact.de3413e6000000000000000000000000?access_token=ACCESS_TOKEN 

寫作接觸如下所示:

POST https://apis.live.net/v5.0/me/contacts 

Authorization: Bearer ACCESS_TOKEN 
Content-Type: application/json 

{ 
    "first_name": "Roberto", 
    "last_name": "Tamburello" 
} 

我有點困惑,如何將這個到PHP格式。也許,你應該使用cURL命令?

+0

他們發回JSON,所以捕捉到返回的數據,然後用[json_decode()](HTTP解析它放回一個PHP結構://php.net/json_decode)。 –

回答

1

最簡單的是使用cUrl來調用API。這應該有助於你開始。

GET:

<?php 
$access_token = "TOKEN"; 

$api_url = 'https://apis.live.net/v5.0/contact.de3413e6000000000000000000000000?access_token='.$access_token; 

$curl = curl_init($api_url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

$curl_response = json_decode(curl_exec($curl)); 

curl_close($curl); 

POST:

<?php 
$access_token = "TOKEN"; 

$api_url = "https://apis.live.net/v5.0/me/contacts"; 

$curl = curl_init($api_url); 
$curl_data = array(
    'first_name' => "Roberto", 
    'last_name' => "Tamburello" 
); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_data); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

$curl_response = curl_exec($curl); 

var_dump($curl_response); 
+0

如何預先授權應用程序?我希望這是一個每天運行一次的cron作業。看來Live API需要用戶每次授權應用程序才能檢索該訪問令牌。我基本上需要一個預授權的訪問令牌,可以讓我每天運行一次請求,而無需用戶參與。有什麼想法嗎? – RailsTweeter

+0

您可以保存用戶身份驗證信息並在獲取其他信息之前運行授權調用。像往常一樣保存敏感信息應該在數據庫中加密。 – icep87

+0

如何獲取令牌? – Baig