2017-09-12 1 views
1

UID가 주어질 때 Google 프로필 이미지를 가져오고 싶습니다. this 참조가 있지만이 URL을 치는 방법을 익히고 있습니다. 누군가 제게 몇 가지 예를 들어주세요.UID별로 Google 프로필 이미지 URL 가져 오기

는 편집 : 여기 내 코드

var googleImageUrl: URL?{ 
     let urlString = "https://www.googleapis.com/plus/v1/people/\(uid)?fields=image&key=AIzaSyBfjHpl8DjU0IGw9mXbvK6HoNpY" 
     return URL(string: urlString) 
    } 

    Alamofire.request(url) 
          .validate() 
          .responseJSON(completionHandler: { (response) in 
           if response.result.isSuccess { 
            let json = response.result.value as? [String: Any] 


           } else { 
            let apiError = ApiError(response: response) 

           } 
          }) 

이 API를 타격 할 때, 항상 오류가 발생하고있다. 왜 나는 응답을 얻지 못하고 있습니까?

+1

이 또는 당신이 원하는 경우에 당신은'Alamofire'를 사용할 수 있습니다. – Priyal

+1

https://stackoverflow.com/questions/9128700/getest-google-profile-picture-url-with-user-id –

답변

0

당신은 두 가지 옵션이 있습니다 : 어떤 API 키가 필요하지 않습니다 구글의 Picasa 웹 앨범을 사용하여

https://www.googleapis.com/plus/v1/people/{UID}?fields=image&key={YOUR_API_KEY} 

:

http://picasaweb.google.com/data/entry/api/user/{UID}?alt=json 

코드를 얻기 위해 구글의 API를 사용하여

를, API 키가 필요합니다 이미지 :

// Check what you want to return in the onCompletion and use it 
func getImage(uid: String, onCompletion: @escaping (String) -> Void, onError: @escaping (NSError) -> Void) { 
    let url = "https://www.googleapis.com/plus/v1/people/\(uid)?fields=image&key=AIzaSyBfjHpl8DjU0IGw9mXbvK6HoNpY" 

    let headers = [ 
     "Content-Type": "application/json" 
    ] 

    Alamofire.request(url, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers) 
     .responseJSON { response in 
      if let object = response.result.value as? [String:Any] { 
       print(object) 
       // use the onCompletion in here 
      } 
    } 
} 
+0

alamofire를 사용하여이 URL을 공격해야합니까? 아니면 Google 프레임 워크에있는 것이 있습니까? –

+0

나는 Alamofire를 권하고 싶습니다. HTTP 네트워킹을위한 좋은 도구이며, @PreetiRani도 잘 설명되어 있습니다. –

+0

확인하십시오. 내 편집 된 코드 –

관련 문제