locked
マップビューの地図に出るメッセージを消去したい RRS feed

  • 質問

  • SharePointリストの位置情報に緯度経度を保存して、マップビューを作ることは出来ましたが、

    The specified credentials are invalid. You can sign up for a free developer account at http://www.bingmapsportal.com

    が表示されてしまいます。このメッセージを消すことは出来るでしょうか?

    Office365上の SharePoint Online です。


    ちなみに、JavaScriptでメッセージ部分をDOMで消すってのは無しでお願いします。。。
    • 編集済み i-POWER Okuda 2018年9月13日 23:24 ちなみに・・を追加
    2018年9月13日 1:54

回答

  • [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
    $url = "https://hogehoge.sharepoint.com/sites/hogehoge"
    $user = "hogehoge@hogehoge.onmicrosoft.com"
    $secure = Read-Host -Prompt "Enter the password" -AsSecureString
    $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($user,$secure)
    $context = New-Object Microsoft.SharePoint.Client.ClientContext($url)
    $context.Credentials = $credentials
    $web = $context.Web
    $web.AllProperties["BING_MAPS_KEY"]= "*********************************************"
    $web.Update()
    $context.ExecuteQuery()

    試してみたところ、私の環境では上記のように PowerShell から CSOM を実行し上手く設定できました。サイトコレクションの管理者または所有者でもダメでしょうか?

    2018年10月2日 5:48

すべての返信

  • おそらくですが、企業内 Web サイトで Bing を利用するための Bing Maps Enterprise Key を取得して、PowerShell などを利用して SharePoint Online にセットしてあげる必要があると思います。

    Create a Map with Bing Maps Keys | Bing Maps for Enterprise
    https://www.microsoft.com/en-us/maps/create-a-bing-maps-key

    このキーをお持ちでなければ、Microsoft のパートナー企業の場合は、Microsoft のパートナー担当さんにご相談頂くのが良いかなーと思います。

    2018年9月14日 3:29
  • ありがとうございます。

    現在は、テスト中でしたのでBasic Keyでも可能かと思いました。
    Map中のメッセージも「無料の開発者アカウントにサインアップできる」とありますし。。。

    Basic Keyは所有しているので、Keyをセットしようとしたのですが、
    PowerShellではSet-SPBingMapsKey のコマンドが見当たらず、
    クライアントオブジェクトモデルでは「アクセス権が無い」となってセットできませんでした。

    以下のWebを参考にしました。
    https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-set-the-bing-maps-key-at-the-web-and-farm-level-in-sharepoint


    2018年9月19日 0:54
  • ちょうど同じような課題の投稿を海外のフォーラムで見つけました。

    Sharepoint Online - Add Bing Maps API Key
    https://www.reddit.com/r/sharepoint/comments/9gmvlh/sharepoint_online_add_bing_maps_api_key/

    Web のプロパティを変更するには、サイトコレクションでカスタムスクリプトの実行を許可しておく必要があるのではないかとのことです。

    SharePoint Online 全体でカスタムスクリプトの実行を許可するには、SharePoint Online の管理センターから設定を変更できます(ただし、設定が反映されるまで最大 24 時間ほどかかります)

    サイトコレクション個別であったり、即時に設定を反映させるためには、SharePoint Online Management Shell を利用して下記のコマンドを利用できます。

    Set-SPOsite <SiteURL> -DenyAddAndCustomizePages 0

    いずれかの方法でカスタムスクリプトの実行を許可したのち、再度 Bing Map Key の登録を試してみた場合はどうでしょうか?

    2018年9月20日 2:01
  • OTAさん ありがとうございます。

    試してみましたが、結果は変わらずでした。

    PS C:\WINDOWS\system32> Set-SPBingMapsKey
    Set-SPBingMapsKey : 用語 'Set-SPBingMapsKey' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラム
    の名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認
    してから、再試行してください。
    発生場所 行:1 文字:1
    + Set-SPBingMapsKey
    + ~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (Set-SPBingMapsKey:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException


    • 編集済み i-POWER Okuda 2018年9月26日 1:32 PowerShellのメッセージをテキストで追加
    2018年9月26日 1:31
  • Set-SPBingMapsKey はオンプレミス用のコマンドではないでしょうか?

    SharePoint Online の Management Shell には、この操作のコマンドレットが用意されていないようなので、クライアントサイドオブジェクトモデルで設定するのだと思います。そちらもダメでしたか?

    2018年9月28日 15:46
  • ありがとうございます。

    2018.9.19の私の投稿にもありますように

    >クライアントオブジェクトモデルでは「アクセス権が無い」となってセットできませんでした。

    アクセス権が無いようです。
    SharePoint OnlineはBingMapsのAPI キー設定には非対応なんですかねぇ?

    2018年10月1日 7:08
  • なるほど。カスタム スクリプトを許可しても変わらずということですね。もう少し調べてみます。
    2018年10月2日 4:18
  • [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
    $url = "https://hogehoge.sharepoint.com/sites/hogehoge"
    $user = "hogehoge@hogehoge.onmicrosoft.com"
    $secure = Read-Host -Prompt "Enter the password" -AsSecureString
    $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($user,$secure)
    $context = New-Object Microsoft.SharePoint.Client.ClientContext($url)
    $context.Credentials = $credentials
    $web = $context.Web
    $web.AllProperties["BING_MAPS_KEY"]= "*********************************************"
    $web.Update()
    $context.ExecuteQuery()

    試してみたところ、私の環境では上記のように PowerShell から CSOM を実行し上手く設定できました。サイトコレクションの管理者または所有者でもダメでしょうか?

    2018年10月2日 5:48
  • OTA様

    ありがとうございます。
    クライアントオブジェクトモデルでの設定は、VisualStudioのコード上でも同様だろうと思い、
    VSのコードを書いて実行していましたが、PowerShellから実行したところ無事に反映させることが出来ました。

    大変助かりました。

    2018年10月5日 2:27