2012-01-16 29 views
7

Tôi đang cố gắng sử dụng thư viện máy khách .NET mới nhất để truy cập Phiên bản 3.0 của API Google Analytics (API báo cáo chính). Tôi đã đăng ký ứng dụng của mình trong Bảng điều khiển API Google và đã sử dụng OAuth 2.0 để truy cập API.API Google Analytics V3.0: Sử dụng OAuth 2.0 với mật khẩu đăng nhập nhất định trong mã chương trình

Vì không có mẫu nào về cách sử dụng API Google Analytics, Tôi đã sử dụng sample minh họa trường hợp sử dụng đơn giản nhất cho dịch vụ OAuth2 và áp dụng lược đồ đó cho ngữ cảnh của tôi - thành công.

(Ghi chú: Tôi cũng thấy help để sửa chữa những sai lầm trong mã nguồn của thư viện Google.Apis.Analytics.v3.dll)

Nếu tôi sử dụng chương trình của tôi, tôi yêu cầu để đăng nhập vào Google, để cấp quyền cho ứng dụng của tôi và sao chép mã ủy quyền.

Tôi muốn bỏ qua luồng này bằng cách viết mật khẩu đăng nhập của tôi vào mã chương trình (- trong văn bản rõ ràng). Vấn đề của tôi là tôi không thể tìm thấy tính năng này trong thư viện. Trong Google Analyitcs phiên bản 2.3, nó đã hoạt động với các dòng C# đơn giản:

AnalyticsService asv = new AnalyticsService(""); 
asv.setUserCredentials(CLIENT_USERNAME, CLIENT_PASS); 

Ai cũng có thể giúp tôi?

Trả lời

5

Đặt tên người dùng và mật khẩu là vấn đề bảo mật. Google đã thêm quyền truy cập ngoại tuyến chỉ cho mục đích này.

Sử dụng mã thông báo làm mới. Bạn có thể lưu trữ và sử dụng nó để truy cập dữ liệu phân tích của bạn mà không phải đăng nhập mỗi lần về cơ bản những gì bạn đang làm với tên người dùng và mật khẩu được thiết lập mà bạn mô tả.

hướng dẫn truy cập ngoại tuyến có thể được tìm thấy ở đây:

http://code.google.com/apis/accounts/docs/OAuth2WebServer.html#offline

+0

Cảm ơn rất nhiều! Tôi sẽ xem xét nó ... –

+4

Nó hoạt động. Tôi đã tìm thấy một [ví dụ] hữu ích (http://stackoverflow.com/a/7489566/1151937), cho thấy cách sử dụng Thẻ làm mới với Thư viện của Google. –

+0

@ michael-ki Tuyệt vời! Rất vui khi bạn tìm thấy một ví dụ. +1 để cập nhật để có thể giúp người khác. –

0

Vâng đây là một câu hỏi cũ. Nhưng đây là một ví dụ về cách làm cho nó hoạt động.

PM> install-package google.apis -pre 
PM> install-package google.apis.analytics.v3 -pre 

Tải client bí mật tệp json từ Apis console và thêm nó vào dự án của bạn với tên client_secret.Json. Bạn có thể phải thay đổi các thuộc tính trên nó để xây dựng nội dung hành động và sao chép để đặt ra nếu mới hơn.

// Autentication 
UserCredential credential; 
using (var stream = new System.IO.FileStream("client_secret.json", System.IO.FileMode.Open,  System.IO.FileAccess.Read)) 
{ 
    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    GoogleClientSecrets.Load(stream).Secrets, 
    new[] { AnalyticsService.Scope.AnalyticsReadonly }, 
    "user", CancellationToken.None, new FileDataStore("Analytics.Auth.Store")).Result; 
    } 

// tạo ra các dịch vụ

AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer() { 
    HttpClientInitializer = credential, 
    ApplicationName = "Analytics API sample", 
}); 
Các vấn đề liên quan