2011-09-12 43 views

Trả lời

8

tôi sử dụng http://www-opensocial.googleusercontent.com/api/people/https://www.googleapis.com/auth/userinfo#email như phạm vi của các thẻ theo yêu cầu.

Url tài nguyên được bảo vệ là https://www-opensocial.googleusercontent.com/api/people/@me/@self để lấy dữ liệu của người dùng hiện tại.

Tôi nhận được tên và hồ sơ G + của người dùng. Tôi chưa thể nhận email của người dùng nhưng tôi nghĩ rằng tôi đang đóng

+0

Tôi đang cố gắng nhận email bằng plugin này có tên Hello.js. Nó lấy tên id nhưng cho email nó nói không xác định. – Vikram

63

Đây là cách tốt hơn để lấy tên và email.

Đặt phạm vi của bạn để:

https://www.googleapis.com/auth/userinfo.email

https://www.googleapis.com/auth/userinfo.profile

Và sử dụng các thiết bị đầu cuối:

https://www.googleapis.com/oauth2/v1/userinfo?alt=json

Điều đó sẽ giúp tất cả các bạn cần!

+2

Cảm ơn bạn, đây chính xác là những gì tôi cần. Để tham khảo của người khác, http://googlecodesamples.com/oauth_playground/index.php này cực kỳ hữu ích để tìm ra phạm vi Google OAuth của bạn. –

+0

Điều này là rực rỡ – Sid

+6

riêng biệt phạm vi với một không gian - cho một người có thể bây giờ biết – Nasir

1

Với OAuth 2 dự thảo hỗ trợ mới nhất, Google cung cấp thẻ ID của Google, một thực hiện OpenID Connect mà - nếu bạn bao gồm các phạm vi https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.email - sẽ cung cấp địa chỉ email (xem lớp GoogleIdToken trong API Java mới nhất). Thật không may, mặc dù, điều này không cung cấp tên của người dùng. Nhưng đó là cách đòi hỏi ít thời gian hơn, nếu bạn có thể làm chỉ với địa chỉ email.

8

Lấy OAuth UserInfo sử dụng API của Google Python:

https://developers.google.com/api-client-library/python/start/installation https://developers.google.com/api-client-library/python/guide/aaa_oauth

import httplib2 
from apiclient.discovery import build 
from oauth2client.client import OAuth2WebServerFlow 

http = httplib2.Http() 
http = credentials.authorize(http) 

users_service = build('oauth2', 'v2', http=http) 
user_document = users_service.userinfo().get().execute() 
+2

Tại sao bỏ phiếu này xuống? Làm việc hoàn hảo, giải quyết vấn đề của tôi. Tôi đã sử dụng API G + và tôi cũng muốn email của người dùng, tôi chỉ cần thực hiện yêu cầu với oauth2. Cảm ơn ! – Aki

+0

Để làm việc này, cần phải đặt thuộc tính phạm vi dữ liệu của nút đăng nhập Google+ với các phạm vi được đề cập trong câu trả lời của Jonathan Mabe. – marcelocra

2

Một client-side Javascript SDK để xác thực với OAuth2 (và OAuth1 với một proxy oauth) dịch vụ web và truy vấn REST API của họ. HelloJS Chuẩn hóa đường dẫn và phản hồi cho các API phổ biến như Dịch vụ dữ liệu của Google, Biểu đồ Facebook và Windows Live Connect. Mô-đun của nó để danh sách đang phát triển. Không còn mã spaghetti nữa!

http://adodson.com/hello.js/

Các vấn đề liên quan