2017-12-19 2 views
1

구독 할 때 동기화 메시지가 나타나지만 파일을 업로드 할 때 알림을받지 못하면 모든 것을 올바르게 구성했다고 생각합니다.Google Drive API에서 알림을받지 못하는 이유는 무엇입니까?

내가 수행 한 다음

  • 단순히 요청이
  • 엔드 포인트가 유효한 인증서
  • 을 함께 확보 dev에 콘솔에서 Google 드라이브 API를 활성화받은 출력하는 작업 엔드 포인트를 Google 개발자 콘솔에 등록 된 엔드 포인트 URL (유효한 도메인에 추가됨)
  • 소유자 권한이있는 서비스 계정을 만들었습니다. (아는 것은 좋지 않지만 생각하지 못했습니다. 권한 문제)
  • 내가 유효한 구독 반응을 얻고 내 엔드 포인트가/시계에 POST 후 메시지를 가지고

https://www.googleapis.com/drive/v3/changes/watch를 사용하여 가입하지만 통지 I 드라이브에 대한 변경 사항 중 어느 그 후 (추가 또는 파일 제거).

동기화를 성공적으로 완료 했음에도 불구하고 알림을받지 못하는 이유는 누구나 알 수 있습니까?

여기는 엔드 포인트가 수신 한 메시지입니다. '출처'는 Insomnia REST 클라이언트를 사용하여 구독하기 때문에 발생합니다.

{ 
"body": {}, 
"headers": { 
    "X-Goog-Resource-ID": "xxxxxxxxxxxxxxx", 
    "CloudFront-Viewer-Country": "US", 
    "X-Amzn-Trace-Id": "Root=xxxxxxxxxxxxxxx", 
    "X-Goog-Channel-Expiration": "Wed, 20 Dec 2017 01:39:47 GMT", 
    "CloudFront-Is-Desktop-Viewer": "true", 
    "CloudFront-Is-SmartTV-Viewer": "false", 
    "X-Goog-Resource-URI": "https://www.googleapis.com/drive/v3/changes?includeCorpusRemovals=false&includeRemoved=true&includeTeamDriveItems=false&pageSize=100&pageToken=6&restrictToMyDrive=false&spaces=drive&supportsTeamDrives=false&alt=json", 
    "User-Agent": "APIs-Google;(+https://developers.google.com/webmasters/APIs-Google.html)", 
    "Host": "services.xxxxxxxxxxxxxxx.com", 
    "CloudFront-Forwarded-Proto": "https", 
    "Accept-Encoding": "gzip,deflate,br", 
    "X-Forwarded-Port": "443", 
    "X-Amz-Cf-Id": "xxxxxxxxxxxxxxx==", 
    "CloudFront-Is-Tablet-Viewer": "false", 
    "X-Goog-Resource-State": "sync", 
    "Via": "1.1 xxxxxxxxxxxxxxx.cloudfront.net (CloudFront)", 
    "X-Forwarded-For": "66.102.7.129, 52.46.30.57", 
    "Accept": "*/*", 
    "X-Forwarded-Proto": "https", 
    "X-Goog-Channel-ID": "test-drive-file-notification", 
    "CloudFront-Is-Mobile-Viewer": "false", 
    "X-Goog-Message-Number": "1" 
    } 
} 
+0

활동을 보여주는 대시 보드 이외에도 Google API 활동에 대한 로그가 있습니까? – Clara

+0

[드라이브 푸시 알림] (https://developers.google.com/drive/v3/web/push)에서 설명한대로 웹 훅을 설정 했습니까? – noogui

+0

@noogui에 감사드립니다. 그래, 내가 했어. 이것이 위에서 언급 한 종점입니다. 내 문제는 무엇인지 알았습니다. 기술적 인 것이 아니라 내 계정과 연결된 Google 드라이브에 대한 액세스 권한으로 자격 증명을 만드는 것으로 가정했기 때문에 자격증 명이 드라이브에 대한 나의 접근을 가장합니다. 그게 잘못된 것으로 밝혀졌습니다. 작성자 목록에 크리 덴셜의 클라이언트 전자 메일을 폴더에 추가하지 않아도 알림이 생성됩니다. 그런 다음 해당 자격 증명으로 폴더를 만들어야 만 내 계정에 액세스하여 액세스 할 수있었습니다. 그 다음에 만 알림이 스트리밍되기 시작했습니다. – Clara

답변

0

이 질문은 Google 드라이브에 접근 할 수있는 자격 증명을 작성하면 자격 증명에 대한 나의 접근을 가장 의미 구글 개발자 콘솔에서 (계정이 GSuite 조직과 관련이없는) 자신로 로그인하는 잘못된 가정에 근거했다 운전. 그게 잘못된 것으로 밝혀졌습니다.

알림을받는 방법은 해당 자격 증명 (서비스 계정이 소유자 인 폴더)을 만드는 폴더에 내 계정을 추가하여 액세스하는 것입니다. 그래야만 알림이 스트리밍되기 시작했습니다.

관련 문제