amit 7 Ответов: 2

импорт контактов hotmail


привет друзья,

Мне нужна ваша помощь в импорте контактов hotmail я написал следующий код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WindowsLive;
using System.Net;
using System.Xml;
using System.IO;
using System.Web.Services;
public partial class Demo : System.Web.UI.Page
{

    const string Offers = "Contacts.View";
    const string AuthCookie = "delauthtoken";
    static WindowsLiveLogin wll = new WindowsLiveLogin(true);
    protected WindowsLiveLogin.ConsentToken Token;
    protected string ConsentUrl;
    protected void Page_Load(object sender, EventArgs e)
    {
        ConsentUrl = wll.GetConsentUrl(Offers);
        Session["wll"] = wll;
        if (Session["HotmailToken"] != null)
        {
            WindowsLiveLogin.ConsentToken token = wll.ProcessConsent(Request.Form);
            Token = wll.ProcessConsentToken((string)Session["HotmailToken"]);
            if (Token != null)
            {
                string lid = Token.LocationID;
                long llid = Int64.Parse(lid, System.Globalization.NumberStyles.HexNumber);
                string delegatedToken = Token.DelegationToken;
                string uri = "https://livecontacts.services.live.com/@L@" + lid + "/rest/LiveContacts/Contacts/";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
                request.UserAgent = "Windows Live Data Interactive SDK";
                request.ContentType = "application/xml; charset=utf-8";
                request.Method = "GET";
                request.Headers.Add("Authorization", "DelegatedToken dt=\"" + delegatedToken + "\"");
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                XmlDocument contacts = new XmlDocument();
                contacts.LoadXml(new StreamReader(response.GetResponseStream()).ReadToEnd());
                List<string> emails = new List<string>();

                XmlNodeList nodeList = contacts.SelectNodes("//Email/Address");
                foreach (XmlNode node in nodeList)
                {
                    if (!String.IsNullOrEmpty(node.InnerText))
                    {
                        emails.Add(node.InnerText);
                    }
                }
                listView.DataSource = emails;
                listView.DataBind();

            }
        }
    }

    [WebMethod]
    public static string GetHotmailContacts()
    {
        return wll.GetConsentUrl(Offers);
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WindowsLive;
namespace ImportContacts
{
    public partial class GetDateFromHotmail : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            WindowsLiveLogin.ConsentToken token = ((WindowsLiveLogin)Session["wll"]).ProcessConsent(Request.Form);
            Session["HotmailToken"] = token.Token;
            Response.Redirect("http://pinny.com");

        }
    }
}



но я получаю исключение". abc.com делает небезопасный запрос на доступ к вашей информации. Windows Live не позволяет обмениваться информацией с этим типом запроса.”


так что друзья, пожалуйста, помогите мне.
Спасибо заранее

2 Ответов

Рейтинг:
2
Рейтинг:
1

Prasad_Kulkarni

Обратиться: Создание и чтение контактов Hotmail (Live Connect)[^]- Эта тема описывает как ваши приложения могут использовать API Live Connect для создания и чтения контактов пользователя Hotmail.

Вот несколько тестов, которые я нашел здесь[^] что вам нужно сделать перед импортом контактов из hotmail; посмотрите
1. зарегистрируйте свое приложение, чтобы получить идентификатор клиента и секрет клиента
http://go.microsoft.com/fwlink/?LinkID=144070[^]
2. Загрузите и установите Windows Live ID Delegated Authentication SDK 1.2
http://www.microsoft.com/download/en/details.aspx?id=2860[^]
3. добавьте файл windowsLiveLogin.cs в проект. Он должен быть внутри
C:\Program файлы\Windows Live ID\DelAuth\App_Code