2013-04-19 2 views
4

사용 사례 :

사용자가 아름다운 사진을 찍어서 자신의 evernote 계정에 저장하려고합니다.서비스가 사용자를 어떻게 식별합니까?

enter image description here

  1. 사용자의 OAuth 2.0 권한을 부여합니다. 서비스는 자격 증명을 저장합니다.
  2. OAuth 2.0 댄스가 완료되면 바로 "Save to Evernote"라는 연락처가 삽입됩니다.
  3. 다음으로 서비스는 타임 라인 컬렉션 구독을 삽입하여이 사용자의 타임 라인에있는 업데이트를 구독합니다.
  4. 사용자가 연락처를 활성화합니다. Save to Evernote가 이제 완전히 설정되었습니다.
  5. 시간이 지남에 따라 사용자가 사진을 찍습니다.
  6. 사용자가 Evernote에 저장을 사용하여 사진을 공유합니다. 그러면이 사진과 연관된 타임 라인 카드가 서비스에 액세스 할 수있게됩니다.
  7. 서비스가 타임 라인 업데이트에 가입되어 있으므로 서비스에 알림이 전송됩니다. 이 알림은 공유 사진이 포함 된 타임 라인 항목에 연결됩니다.
  8. 서비스는 알림을 검사하고 포함 된 ID를 사용하여 사진이 포함 된 타임 라인 카드를 가져옵니다.
  9. 다음으로 서비스는 타임 라인 항목을 검사하고 첨부 파일 ID를 사용하여 사진의 바이트를 가져옵니다.
  10. 서비스는 사용자의 Evernote에 사진을 업로드합니다.
  11. 마지막으로 서비스는 새로운 타임 라인 카드를 구성하고이를 사용자의 타임 라인 카드에 성공 메시지와 함께 삽입합니다.

    { 
        "collection": "timeline", 
        "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg", 
        "operation": "UPDATE", 
        "userToken": "harold_penguin", 
        "verifyToken": "random_hash_to_verify_referer", 
        "userActions": [ 
        { 
         "type": "SHARE" 
        } 
        ] 
    } 
    

    이 경우 UserToken 먼저 응용 프로그램을 인증 할 때 내가받을 가치가 다음 Mirror API Documentation에서

는 사용자의 주에 한 번 타임 라인 항목이 서비스가 확실히이 같은 POST를 수신 나타 납니까? 그렇다면 Glass에서받은 POST를 내 데이터베이스에 저장된 사용자와 연결하는 데이 값을 사용할 수 있습니까? 내 서비스가 유리 사용자와의 내 서비스 연락처에이 공유를 연결하려면 어떻게해야합니까? 내 서비스가 해당 사용자를 대신하여 해당 서비스를 수행 할 수 있도록하려면 어떻게해야합니까?

답변

3

사실 userToken은 알림을 트리거 한 사용자에게 다시 알림을 연결하는 데 사용하는 입력란입니다.

해당 사용자에 대해 subscription을 만들 때 userToken을 설정합니다. 구독을 삽입 할 때 지정하는 값은 모두 제공되는 모든 알림에 대해 userToken으로 제공됩니다. 즉, 구독을 만들 때 시스템이 올바른 사용자와 상호 연관시킬 수있는 고유 한 식별자를 항상 사용하려고합니다. 예를 들어

:

  1. 제인은 서비스로 인증합니다. Jane은 Glassware의 데이터베이스에 고유 한 사용자 ID 42를 가지고 있습니다.인증시
  2. ,이 구독을 삽입하여 그녀의 timeline 컬렉션에 가입 :

    { 
        "collection": "timeline" 
        "userToken": "42", 
        "callbackUrl": "https://example.com/notify/callback" 
    } 
    
  3. 제인은 유리와 함께 사진을 공유합니다.
  4. 서비스에 대한 알림이 전송됩니다. 제인 :

    { 
        "collection": "timeline", 
        "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg", 
        "operation": "UPDATE", 
        "userToken": "42", 
        "userActions": [ 
        { 
         "type": "SHARE" 
        } 
        ] 
    } 
    
  5. 귀하의 유리가 올바른 사용자를 조회하기 위해 userToken 속성을 사용 : 그것은 다음과 같이 보입니다.

나머지 이야기는 귀하의 질문에 설명되어 있습니다.

+1

아하! 이것은 매우 도움이됩니다. 명확하게 해 주셔서 감사합니다. 더 많은 앱을 만들 때까지 기다릴 수 없습니다. 나는 내가 다음 단계로 나아갈 때까지 기다리고 있다는 프로토 타입을 가지고있는 몇 가지는 가지고있다. – DrewBaumann

+0

사용자가 ** 아무나 **와 공유하면 내 Glassware가 단순히 타임 라인 업데이트의 후크 일 뿐이므로 알림을받지 못합니까? 그렇다면 내 Glassware는 타임 라인 항목의 수신자 배열에 내 Glassware 연락처가 포함되어 있는지 확인하기 위해 각 사용자에게 요청을 보내야합니까? – DrewBaumann

+0

@DrewBaumann 님이 https://developers.google.com/glass/subscriptions를 읽지 못하는 것은 앱의 타임 라인 항목 또는 위치 변경에 대한 알림 만받는 것 같습니다. –