2014-01-13 4 views
0

저는 Python Starter 프로젝트를 사용했으며 타임 라인 카드를 추가하여 Glass에 표시 할 수 있습니다.Python QuickStart Mirror API를 원격으로 호출

내 Mac에서 실행되는 독립 실행 형 응용 프로그램의 끝점을 호출하여 타임 라인에 항목을 삽입하는 Python 논리를 트리거합니다.

어디에서 아이디어를 시작해야합니까?

편집 : 이유가 확실하지 않은 이유는 확실하지 않습니다. 기본적으로 Objective C의 타임 라인에 카드를 삽입하고 싶었습니다. 잠시 동안 파고 들자 Google이 제공하는 Objective C 라이브러리를 사용하여 서비스와 상호 작용할 수있었습니다.

답변

1

타임 라인 항목을 삽입하는 코드는 대체로 같지만 다른 흐름을 사용하여 액세스 토큰을 얻어야합니다. OAuth 2.0 flow for installed applicationsPython API Client Library docs의 문서이기도합니다.

귀하의 유리는 다음과 같이 작동 할 수 있습니다 :

  1. 새로운 흐름

    from oauth2client.client import OAuth2WebServerFlow 
    ... 
    flow = OAuth2WebServerFlow(client_id='your_client_id', 
            client_secret='your_client_secret', 
            scope='https://www.googleapis.com/auth/glass.timeline', 
            redirect_uri='urn:ietf:wg:oauth:2.0:oob') 
    
  2. 인증 URL을 만들기를 만들고 웹 브라우저에서 액세스하는 사용자에게 지시

    auth_uri = flow.step1_get_authorize_url() 
    print 'Please navigate here ' + auth_uri 
    

    이렇게하면 코드가 생성됩니다. 사용자에게 해당 코드를 붙여 넣으십시오. 자격 증명

    credentials = flow.step2_exchange(code) 
    
  3. 저장 파일, 데이터베이스에 나중에 사용하기 위해 해당 자격 증명을, 또는 다른 영구 저장소에 대한

  4. 교환 코드. 이것은 사용자의 타임 라인에 항목을 삽입하는 방법입니다.

  5. 자격 증명을 사용하여 자신의 타임 라인

    http = httplib2.Http() 
    http = credentials.authorize(http) 
    
    mirror_service = build("mirror", "v1", http=http) 
    body = { 
        'notification': {'level': 'DEFAULT'}, 
        'text':'Hello world!' 
    } 
    
    timeline_item = mirror_service.timeline().insert(body=body).execute() 
    
+0

제니에 항목을 삽입 - 난이 도움이 생각하지만, 사실은 뭔가 다른 일을하려고 해요. 사실, Objective C 애플리케이션에서 파이썬 미러 API를 호출하려고합니다. main_handler.py에서 post 메소드에 주석 (@ util.auth_required)이 있음을 알 수 있습니다. – Beebunny

+0

본질적으로 내가하려는 것은 내 앱 (즉 myapp.appspot.com)에 게시물 요청을하고 POST 변수 "operation"에 적절한 값을 입력하는 것입니다. – Beebunny

+0

@ util.auth_required는 oauth 데코레이터입니다. OAuth 플로우의 일부분을 자동화하는 Google Python API 클라이언트 라이브러리의 기능입니다. 하지만 궁금한 점이 있습니까? Objective C 애플리케이션에서 실제로 Python을 실행하고 있습니까? 아니면 Objective C로 구현하는 법을 배우려는 것입니까? – mimming