pythonスクリプトを使用してSharePointサイトにファイルをアップロードする方法はありますか?haufe.sharepointをインストールしようとしましたが、インストール中にntlmをフェッチできなかったようで、インストールできません。 ntlmをインストールせずにコネクタモジュールを使用することもできます。
また、openpyxlを使用してExcelファイルをサーバーの場所に保存しようとしました(URL経由で接続するのではなく、\ server\sharepointsite\filesのようなディレクトリに保存します)が、ファイルがチェックアウトされた後もファイルがチェックアウトされたままになっているようです保存しました。
助けていただければ幸いです。ありがとう!
私はこの質問に答えるのに少し遅れるかもしれないと思います。
次の解決策は私のために働いた-
Sharepoint Webページで、[ライブラリツール] >> [ライブラリ] >> [エクスプローラーコマンドで開く]に移動します([Officeに接続]コマンドの横の右下にある小さなアイコンです。
アドレスバーには、ファイルをアップロードする必要のあるアドレスが表示されます。 アドレスから「http:」または「https:」を削除することを忘れないでくださいこのアドレスはファイルをアップロードする宛先です。
その後、shutilパッケージを使用してファイルをアップロードできます。
import shutil as sl
sl.copy(source,destination)
これは、Sharepointにファイルをアップロードするのに役立ちます
免責事項-これはPython 3.6で非常にうまく機能します
上記の答えは私にはうまくいきませんでした。ドライブをSharePointフォルダーにマッピングし、そのドライブへのコピーを使用するだけで、簡単で便利な方法を見つけました。
import subprocess
import shutil
subprocess.call(r'Net Use Y: http://sharepoint/link/to/your/folder', Shell=True)
shutil.copy("link_to_local_file","Y:\\")
コピーする代わりに、ファイルを削除したり、通常のフォルダのようなことをしたりすることもできます。
SharePointサイトのpythonで、RESTAPI呼び出しを介してファイルを作成しました。以下のコードを見つけてください。
def CreateHomePage():
server_relative_url = base_url+ '/_api/web/webinfos'
r1 = requests.get(server_relative_url, auth=HttpNtlmAuth(username, password), headers = headers, verify=True)
value = json.loads(r1.text)
for row in value['d']['results']:
if(row['Title'] == myvars['Site Name'].strip(' \t\n\r')):
Id= row['ServerRelativeUrl']
#Add Template and create file simultaneously
title = myvars['Site Name'].strip(' \t\n\r')
post_url = root_url +'GetFolderByServerRelativeUrl(\'/'+Id+'/Pages\')/Files/add(url=\'Home.aspx\',overwrite=true)'
r2 = requests.post(post_url, auth=HttpNtlmAuth(username, password), headers = headers, verify=True)
logger.debug("Creation of home page %d", r2.status_code)