Selamat pagi,
Saya telah mencoba selama berhari-hari untuk terhubung dengan akun Sharepoint perusahaan saya tetapi saya tidak dapat melakukannya.
Saya telah mencoba pendekatan yang dijelaskan dalam deskripsi pypi
nama pengguna = ' [email protected] '
kata sandi = 'XXXX'
url = ' https://aXXX.sharepoint.com '
_ctx_auth = AuthenticationContext(url)
jika ctx_auth.acquire_token_for_user(nama pengguna, kata sandi):
ctx = ClientContext(url, ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
cetak "Judul web: {0}".format(web.properties['Judul'])
lain:
cetak ctx_auth.get_last_error()_
Juga yang diberikan setelah rilis versi 2.1.8
ctx = ClientContext.connect_with_credentials(site_url, UserCredential(nama pengguna, kata sandi))
tapi saya selalu mendapatkan kesalahan yang sama:
_Terjadi kesalahan saat mengambil token dari respons XML: AADSTS500069: Elemen dengan ID 'XXXX' tidak ditandatangani atau tanda tangannya tidak valid.
Terjadi kesalahan saat mengambil cookie auth dari https://XXX.sharepoint.com/_vti_bin/idcrl.svc_
Ini menghentikan saya untuk melanjutkan proyek saya ...
Adakah yang bisa memberi tahu saya mengapa kesalahan ini terjadi dan bagaimana cara memperbaikinya?
Terima kasih sebelumnya.
Salam pembuka!
Anehnya kesalahan ini tidak terdaftar di antara kode kesalahan Azure AD STS
Untuk menentukannya, bisakah Anda menjelaskan pertanyaan-pertanyaan berikut:
apa jenis akun yang digunakan untuk masuk?
apakah otentikasi multi-faktor diaktifkan per pengguna?
Opsi lainnya adalah beralih dari aliran kredensial pengguna ke aliran prinsipal aplikasi.
Lihat artikel ini tentang cara mendaftarkan prinsipal aplikasi dan memberikan akses melalui alur _SharePoint App-Only_
Berikut ini contohnya:
ctx = ClientContext.connect_with_credentials(site_url, ClientCredential(client_id,client_secret))
target_web = ctx.web
ctx.load(target_web)
ctx.execute_query()
Selamat siang
Terima kasih atas jawaban cepat dan bantuan Anda.
- apa jenis akun yang digunakan untuk masuk?
Saya menggunakan akun perusahaan dengan format berikut [email protected]
- apakah otentikasi multi-faktor diaktifkan per pengguna?
Saya telah bertanya kepada TI di perusahaan saya dan mereka memberi tahu saya bahwa akun saya tidak memiliki otentikasi Multi-faktor yang aktif, Meskipun ada beberapa akun dengan pengaktifan Multi-faktor
Saya juga telah meminta kredensial prinsipal aplikasi tetapi sayangnya saya tidak memiliki izin untuk mengaturnya sendiri sehingga saya harus menunggu mereka melakukannya.
Mengenai izin utama aplikasi, dalam artikel yang disediakan, akses FullControl
disetujui per tenant
, meskipun dalam kebanyakan kasus cakupan site collection
lebih dari cukup, berikut adalah manifes xml untuk itu :
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
</AppPermissionRequests>
Url halaman kumpulan situs: https://contoso.sharepoint.com/_layouts/15/appinv.aspx
Catatan: dapat dikonfigurasi baik oleh administrator kumpulan situs atau administrator penyewa
Selamat siang,
Saya memiliki informasi lebih lanjut tentang kesalahan tersebut.
Saya telah mencoba terhubung dengan pengguna layanan TI dan saya mendapatkan kesalahan ini
Tidak bisa mendapatkan token keamanan biner dari https://login.microsoftonline.com/extSTS.srfTraceback (panggilan terakhir terakhir):File "c:/Users/pablo.arias/Desktop/GD/Conexion_sharepoint.py", baris 13, di
Nama pengguna adalah ALSSVSHNGSDES jika itu memberi Anda beberapa informasi
Di sisi lain, saya telah mencoba untuk membuat dan mengakses melalui SharePoint App-Only tetapi saya tidak tahu cara mengarsipkan dengan benar Domain APP filds dan Redirect URI, saya telah mencoba untuk mengatur alamat sharepoint saya di keduanya tetapi selalu memberi saya kesalahan jadi saya kira itu bukan informasi yang benar.
Terima kasih sebelumnya.
Selamat malam,
tentang
tapi saya tidak tahu cara mengarsipkan APP Domain dan Redirect URI dengan benar, saya telah mencoba mengatur alamat SharePoint saya di keduanya tetapi selalu memberi saya kesalahan jadi saya rasa itu bukan informasi yang benar.
kesalahan mungkin terjadi karena nilai yang ditentukan untuk App Domain dan Redirect URI , silakan lihat instruksi di bawah ini untuk detail lebih lanjut.
Berikut adalah instruksi untuk membuat kredensial berbasis aplikasi:
appregnew.aspx
di penyewa SharePoint Online Anda. Misalnya, https://example.sharepoint.com/_layouts/15/appregnew.aspx
.Python console
. Di bawah App Domain , tentukan www.localhost.com
. Di bawah Redirect URI , tentukan https://www.localhost.com
.Catatan: Terkadang, jika Anda menentukan domain yang sebenarnya, misalnya domain
sharepoint.com
di bidang App Domain dan Redirect URI , alih-alihlocalhost
, pesan kesalahanAn unexpected error has occurred
mungkin muncul. Periksa halamanappregnew.aspx
dan pastikan kedua bidang menyertakan URI localhost yang tepat.
Klik Buat .
Buka halaman appinv.aspx
di kumpulan situs. Misalnya, https://example.sharepoint.com/_layouts/15/appinv.aspx
untuk memberikan izin _site-scoped_.
Catatan: Jika Anda lebih suka memberikan izin pada tingkat penyewa, kunjungi situs administrasi penyewa, URL harus menyertakan
-admin
untuk mengakses situs administrasi penyewa, misalnya,https://example-admin.sharepoint.com/_layouts/15/appinv.aspx
Operasi itu memerlukan izin administrator penyewa
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
</AppPermissionRequests>
Catatan: Untuk cakupan tingkat penyewa , XML permintaan izin terlihat sebagai berikut:
<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" /> </AppPermissionRequests>
Jika Anda melihat pesan kesalahan
Sorry, only tenant administrators can add or give access to this app" and the Trust It button is disabled, you are not on the correct page for the tenant administration site. Check the appinv.aspx page URL and make sure it includes
-admin.
Sebagai bukti konsep, berikut adalah contoh menjalankan skrip berikut di Notebook Jupiter
client_id = "--client id goes here--"
client_secret = "-- secret goes here--"
site_url = "https://example.sharepoint.com/"
from office365.runtime.auth.ClientCredential import ClientCredential
from office365.sharepoint.client_context import ClientContext
ctx = ClientContext.connect_with_credentials(site_url, ClientCredential(client_id, client_secret))
web = ctx.web
ctx.load(web)
ctx.execute_query()
Hasil
Selamat pagi,
Saya sudah mencoba mengatur API mengikuti instruksi tetapi saya tidak bisa.
Ketika saya menetapkan Domain APP sebagai www.localhost.com dan Redirect URI sebagai https://www.localhost.com, saya menerima kesalahan berikut: Domain APP Tidak Valid.
Saya Melampirkan tangkapan layar dari upaya terakhir saya.
Bisakah Anda memberi tahu saya apa yang saya lakukan salah?
Saya kira untuk menempatkan "localhost" sebagai Domain Aplikasi adalah sebuah contoh dan itu bukan URI yang tepat untuk Sharepoint tetapi pada titik ini saya benar-benar bingung tentang apa yang harus dimasukkan ke dalam bidang "Domain aplikasi" dan "Redirect URI".
Banyak terima kasih sebelumnya!
Selamat pagi,
bagaimana dengan localhost
bukannya www.localhost.com
?
Saya kira itu sudah diselesaikan jadi tutup yang ini.
Selamat siang
Maaf saya tidak menjawab sebelumnya.
Saya mengalami masalah dengan izin,
Saya pikir itu terjadi karena mereka tidak memberikan API akses penuh dalam permintaan izin XML.
Saya mengalami kesalahan berikut saat melakukan permintaan (maaf dalam bahasa Spanyol):
office365.runtime.client_request_exception.ClientRequestException: ('-2147024891, System.UnauthorizedAccessException', 'Acceso denegado. Tidak ada tieneel permiso necesario para realizar esta acción o tener acceso a este recurso.', '403 Client Error: Forbidden for url
Jadi saya kira kode itu berfungsi dengan benar.
Terima kasih untuk bantuannya.
Itu benar, langkah 6-9 juga wajib untuk memberikan izin.
Selamat siang
Akhirnya kami mengubah XML dan berfungsi
ctx = ClientContext.connect_with_credentials(site_url, ClientCredential(client_id, client_secret))
web = ctx.web
ctx.load(web)
ctx.execute_query()
print("Judul situs web: {0}".format(web.properties['Judul']))
>
Judul situs web: NEGOCIO
Terima kasih banyak atas semua bantuan Anda.
@ pobs93 Saya mencoba melakukan hal yang sama. Saya mengubah izin saya. tetapi mendapatkan kesalahan yang sama seperti Anda -2147024891, System.UnauthorizedAccessException', 'Access ditolak. Anda tidak memiliki izin untuk melakukan tindakan ini atau mengakses sumber daya ini.', '403 Client Error: Forbidden for url:
perubahan apa yang Anda lakukan pada XML izin Anda? dapatkah Anda memberi tahu saya bahwa ini sangat penting untuk proyek saya. Terima kasih sebelumnya
apakah Anda mengubah izin XML? apakah Anda mengubah cakupan di sini untuk mencerminkan URL perusahaan Anda atau mempertahankannya apa adanya. ?