Kitaran hayat token pembawa Azure

WBOY
Lepaskan: 2024-02-22 13:00:14
ke hadapan
479 orang telah melayarinya

Azure 不记名令牌生命周期

Kandungan soalan

Saya mempunyai kod python untuk memanggil api grafik dan menyemak imbas direktori pada titik kongsi. Direktori mempunyai 120gb fail dan mengambil masa berjam-jam untuk mengimbas. Walau bagaimanapun, saya memerhatikan bahawa skrip hanya kelihatan berjalan pada kod studio visual dan tidak dilaksanakan lagi. Saya mencetak nama fail dalam gelung dan selepas sejam ia berhenti memasukkan nama fail.

Adakah kerana token tamat tempoh dalam satu jam? Jika ya, mengapa saya tidak mendapat ralat yang menunjukkan bahawa token itu tidak sah?

# Define imports
import requests

# Copy access_token and specify the MS Graph API endpoint you want to call, e.g. 'https://graph.microsoft.com/v1.0/groups' to get all groups in your organization
#access_token = '{ACCESS TOKEN YOU ACQUIRED PREVIOUSLY}'

url = "[URL TO THE SHAREPOINT]"
headers = {
  'Authorization': access_token
}

consentfilecount=0
clientreportcount = 0
graphlinkcount = 0

while True:#
    #print(graph_result.json()['@odata.nextLink'])
    graph_result = requests.get(url=url, headers=headers)
    if ('value' in graph_result.json()):
      for list in graph_result.json()['value']:
        if(("Client Consent Form").lower() in list["name"].lower()):
            consentfilecount +=1
            print(list["name"])
        if(("Final Client Report").lower() in list["name"].lower()):
            clientreportcount +=1
            print(list["name"])
        #print(graph_result.json())
      if('@odata.nextLink' in graph_result.json()):
        url = graph_result.json()['@odata.nextLink']
        graphlinkcount += 1
      else:
        break

print(consentfilecount)
Salin selepas log masuk


Jawapan betul


Tingkah laku yang anda gambarkan hampir pasti disebabkan oleh token pembawa yang anda gunakan yang sememangnya hanya sah selama sejam atau lebih.

Secara lalai, gelung requests does not raise exceptions based solely on HTTP status codes 允许开发人员选择他们想要如何处理此类情况。在您的情况下,您的 while true: terus berjalan, berjaya menghuraikan struktur json yang dikembalikan daripada respons ralat, tetapi tidak pernah benar-benar memenuhi mana-mana syarat dalam blok.

Jika anda benar-benar mahu skrip anda memberikan pengecualian pada kod respons http yang tidak berjaya, anda boleh menambah panggilan ke raise_for_status():

graph_result = requests.get(url=url, headers=headers)
graph_result.raise_for_status()
Salin selepas log masuk

Walau bagaimanapun, jika jangkaan masa beroperasi kod anda melebihi tempoh sah token, anda mungkin perlu menggunakan proses muat semula oauth yang betul dalam kod anda untuk mengelakkan ralat jenis ini daripada berlaku.

Atas ialah kandungan terperinci Kitaran hayat token pembawa Azure. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!