2016-02-12 67 views
3

執行outlook restapi v2.0的PHP快速啓動代碼以使用oauth2授權訪問郵件。Outlook rest api oauth2 php CURL調用期間的HTTP錯誤400

完整的代碼可以在這裏觀看 - 「https://dev.outlook.com/RestGettingStarted/Tutorial/php」 下的 「outlook.php」

範圍:https://outlook.office.com/mail.read
token_type:承載
我收到的access_token,expires_in,id_token和id_token_expires_in
和expires_in值是3600

public static function getMessages($access_token, $user_email) { 
    $getMessagesParameters = array (
    // Only return Subject, ReceivedDateTime, and From fields 
    "\$select" => "Subject,ReceivedDateTime,From", 
    // Sort by ReceivedDateTime, newest first 
    "\$orderby" => "ReceivedDateTime DESC", 
    // Return at most 10 results 
    "\$top" => "10" 
); 
... 

是否有需要要在「$ getMessagesParameters」做了什麼變化?我嘗試刪除一切,但仍然沒有工作!(提供400 HTTP錯誤)

最近有什麼修改我們訪問Outlook休息api資源的方式嗎?

更新: 我用一個hotmail帳戶來創建一個應用程序,並使用相同的帳戶來訪問郵件。是否因爲hotmail郵件與outlook.com郵件服務沒有完全集成?

現在的錯誤代碼更改爲「404」

經過它在Outlook中沙盒,他們指出,用戶收件箱中應啓用REST API爲它工作。

這不是「Office 365 API - Request returned HTTP error 400」重複(在提問與聯繫人和日曆,但不是郵件的煩惱)

回答

0

所以你說你在沙盤得到一個錯誤?如果您收到的錯誤是您的郵箱未啓用REST API,那麼這就是問題的原因。 Outlook.com帳戶(包括Hotmail.com)正在wave中啓用,並且您的尚未啓用。目前無法按需啓用它們,因此對於該郵箱,您只需等待即可。

如果您想立即測試,您可以在北美創建一個新的Outlook.com帳戶,並且應立即啓用API。