Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Яндекс.Метрика API / 3 сообщений из 3, страница 1 из 1
20.05.2013, 03:04
    #38263917
Crass_Mark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Яндекс.Метрика API
Приветствую! Нужно вывести графики в админке на основе данных из отчетов яндекс.метрика. Вопрос таков: Как подключиться к файлу(json), который содержит информацию о посещаемости в формате json? Условно говоря есть ссылка http://api-metrika.yandex.ru/stat/traffic/summary.json?id=21143763&pretty=1&oauth_token=7e63975ac28a4d5c816bf1dd93330123. На странице имеется информация в json формате
что-то типа этого:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
{
    "date2" : "20130510",
    "min" : {
        "visits" : 2,
        "denial" : 0,
        "page_views" : 2,
        "depth" : 1,
        "visit_time" : 15,
        "visitors" : 1,
        "new_visitors" : 0
    },
    "max" : {
        "visits" : 4,
        "denial" : 0.25,
        "page_views" : 22,
        "depth" : 5.5,
        "visit_time" : 1106,
        "visitors" : 3,
        "new_visitors" : 1
    },
    "data" : [
        {
            "visits" : 4,
            "denial" : 0.25,
            "wday" : 6,
            "date" : "20130519",
            "page_views" : 22,
            "depth" : 5.5,
            "visit_time" : 1106,
            "visitors" : 3,
            "new_visitors" : 1,
            "id" : "20130519"
        },
        {
            "visits" : 2,
            "denial" : 0,
            "wday" : 4,
            "date" : "20130517",
            "page_views" : 2,
            "depth" : 1,
            "visit_time" : 15,
            "visitors" : 1,
            "new_visitors" : 0,
            "id" : "20130517"
        },
        {
            "visits" : 4,
            "denial" : 0.25,
            "wday" : 3,
            "date" : "20130516",
            "page_views" : 5,
            "depth" : 1.25,
            "visit_time" : 17,
            "visitors" : 2,
            "new_visitors" : 0,
            "id" : "20130516"
        },
        {
            "visits" : 4,
            "denial" : 0,
            "wday" : 2,
            "date" : "20130515",
            "page_views" : 13,
            "depth" : 3.25,
            "visit_time" : 95,
            "visitors" : 1,
            "new_visitors" : 0,
            "id" : "20130515"
        },
        {
            "visits" : 3,
            "denial" : 0,
            "wday" : 1,
            "date" : "20130514",
            "page_views" : 11,
            "depth" : 3.6667,
            "visit_time" : 101,
            "visitors" : 2,
            "new_visitors" : 1,
            "id" : "20130514"
        },
        {
            "visits" : 2,
            "denial" : 0,
            "wday" : 0,
            "date" : "20130513",
            "page_views" : 2,
            "depth" : 1,
            "visit_time" : 15,
            "visitors" : 1,
            "new_visitors" : 0,
            "id" : "20130513"
        }
    ]
    }
}

Вот как подключиться к этому делу и обработать информацию? P.S. Чесно, читал документацию по Яндекс.Метрика API. Но не понял как сделать запрос...
...
Рейтинг: 0 / 0
20.05.2013, 03:49
    #38263924
Crass_Mark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Яндекс.Метрика API
Crass_Mark,

Ага, сделал.
...
Рейтинг: 0 / 0
20.05.2013, 03:50
    #38263925
Crass_Mark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Яндекс.Метрика API
Crass_Mark,

using System;
using System.Net;
using System.Text;
using System.Web.Script.Serialization;


namespace GetClientInfo
{
class Program
{
// отключение проверки подлинности сертификата
private static bool IgnoreCertificateErrorHandler(object sender,
System.Security.Cryptography.X509Certificates.X509Certificate cert,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslErr)
{
return true;
}

public static void Main(string[] args)
{
// входные данные
var ClientInfo = new {
token = "xxxx65aacca4804938bb61da244b86b",
application_id = "xxxx414578ea45c493f8f05838f399d0",
login = "abgtig",
method = "GetClientInfo",
param = new string[1] {"abgtig"},
locale = "ru"
};

// сериализуем объект ClientInfo в формат нотации JSON
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(ClientInfo);

// путь к WSDL
string wsdl = " https://api.direct.yandex.ru/json-api/v4/";

// SSL-сертификат не используется
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(IgnoreCertificateErrorHandler);

// создаем клиента
WebClient wc = new WebClient();

// отправляем POST-запрос и получаем ответ
byte[] result = wc.UploadData(wsdl, "POST", System.Text.Encoding.UTF8.GetBytes(json));

// вывод кода запроса
Response.Write(" Запрос: \n" + json);

// вывод кода ответа сервера
Response.Write("\n Ответ: \n" + Encoding.UTF8.GetString(result));
}
}
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Яндекс.Метрика API / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]