みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
面倒でも新たな新規スクリプトを作り名前は何でもかまいません確認が終われば削除しますので、そこに「フィールド設定」ステップを加え
ターゲットフィールドの指定 [ MAP座標]とし、計算式欄に
$$yb
を記入して、これでスクリプト保存します。
確認のため[ジオコード]スクリプトを実行
結果:{"Error":{"Message":"Your Request was Forbidden"}} となります。
なお、>※頭の [ $$yb; と 終わりの ] [ 選択; ダイアログなし ]をcut。何故cut作業で書き込むのか分かりませんが、
これは、エラーが出るからなのですが‥‥、
‥‥#43で言っている通り、「数字、テキスト、フイールド名または「(」を入れてください」のエラーが出るので。
Offline
すみません、#50で仰っていたのですね。
今、YahooJAPANの「アプリケーションの管理」画面で、ID確認しましたが、文字列は全く同じでした。
yahooJAPANに確認します。
Offline
なお#35で一部間違いがりました下記の用に訂正します。
コンテンツジオコーダAPI・・"https://map.yahooapis.jp/geocode/cont/V1/contentsGeoCoder?output=json&appid=<あなたのアプリケーションID>&query=" & 名刺管理簿::住所 & 名刺管理簿::住所2
Yahoo!ジオコーダAPI・・"https://map.yahooapis.jp/geocode/V1/geoCoder?output=json&appid=<あなたのアプリケーションID>&query=" & 名刺管理簿::住所 & 名刺管理簿::住所2
ありがとうございます。
YahooJAPANあてID利用確認の質問mail送りました。ID文字列に間違いないので、今回のエラー原因及び利用しようとしていることに対する制限確認です。
※回答まで2~3日?かかるのかな?。
>結果:{"Error":{"Message":"Your Request was Forbidden"}} となります。
このエラー、YahooのID認証?、以外での原因は考えられませんですよね?。
>Yahoo!ジオコーダAPI・・"https://map.yahooapis.jp/geocode/V1/geoCoder?output=json&appid=<あなたのアプリケーションID>&query=" & 名刺管理簿::住所 & 名刺管理簿::住所2
以前このapi の方が良いとのことでしたのでコンテンツジオコーダAPIでは無く、この内容で設定しています。
教えてください、頭の [ $$yb; と 終わりの ] [ 選択; ダイアログなし ]をcut。何故cut作業で書き込むのか分かりませんが、
‥‥との事ですが、記述しなさい!、なのでしょうか?。ただ、述べていますようにエラーが出たのでcutしたのです。
長々とお手数煩わし、本当に感謝しています。今回のスレは長年の希望なのです。このサイト「地図」で検索されると、ずいぶん前のスレが見れると思います。
「地図」質問者は意外と少ないですね。
今回はぜひとも実現したく、大変面倒な事と存じますが、曲げてご協力、ご指導願いたくお願い申し上げます。
Offline
まず下記のエラーに関しては#35でコピペミスで「"&」をダブっためだと思いますので申し訳ありませんでした。それを何箇所かコピペで使い回していたので混乱を招いたようです。#53で訂正しておきました。
>エラーが出たのでcutしたのです
{"Error":{"Message":"Your Request was Forbidden"}} に関して多分下記のサイトを読まれていると思いますが、基本当方のミスで招く事故が多いのが現状ですしYOLPのサービス提供終了以降Yahooの地図関連の各種情報に接していませんので分かりかねます。今回も昔作ったファイルを引っ張り出しおぼろげな記憶で回答したのでミスの連発でした。
https://deaimobi.com/mbnk-294/
ありがとうございます。
ご指摘のURL確認しました。
YahooAPI エラーメッセージおよびコード(https://developer.yahoo.co.jp/appendix/errors.html)
403 Forbidden. リソースへのアクセスを許されていないか、利用制限を超えている場合に適用されます。アプリケーションIDが削除された場合にも返されます。
※IDは関連付け記載されている事を再確認しています。
この度のエラーが該当するとすれば「アクセス」関係かと思いますが‥‥。※可能性についてmail照会しました。
エラー内容と言うか「,」が返る場合はアクセスが認証されたのでしょうか?。
「{"Error":{"Message":"Your Request was Forbidden"}} 」が返るのとの違いは?。
※「フィールド設定」ステップのターゲットフィールドの指定 [ MAP座標]とし、計算式欄に「$$yb」の結果
他に、つぎの情報ありました。MAP
https://developer.yahoo.co.jp/changelog … 3-map.html
2022.04.13発表 ■対応日:2022年4月18日
【重要】YOLP パラメータ「query」エンコード必須化につきましてのお知らせ。■対象API:ジオコーダAPI
YOLP(地図)のお知らせ:【重要】YOLP Web APIにおける一部API提供終了のお知らせ(2022.05.13)
これらは、昨年の話で今は支障ないのですよね?。
Offline
>エラー内容と言うか「,」が返る場合はアクセスが認証されたのでしょうか?。
認証されなくて前述のエラーメッセージが返されたときも、認証されても、もし返された値が空白だったりした場合でも、さらに住所表示が不正確のだったため下記の内容で返されたときにも
{"ResultInfo":{"Count":0,"Total":0,"Start":1,"Status":200,"Description":"","Copyright":"","Latency":0.034}}
出ます。あくまで計算式が正常に成立しているどうかの結果に過ぎません
さらにいえば返された内容がJSON形式でない場合(例えばhtml形式)は、JSONとして読み込めないために
Column 1,? * Line 1
として表示されます。
そこで、変数の内容の確認が必要ととなります。
さらに付け加えると
接続先のURLが「map.yhooapis.jp」とした場合は、最初に接続できないアラートが出ます。
>【重要】YOLP パラメータ「query」エンコード必須化につきましてのお知らせ。
たぶんURLの指定でエンコードにチェックがデフォルトで入っているので問題ないかと・・・但しこの件は自信がない・・今日も問題なく座標が取得できているのだから
教えてください。
1.>そこで、変数の内容の確認が必要ととなります。==>どの様にすればいいのでしょうか?。
2.「,」が返ったと言う事は、「URLから挿入」の計算式(前段部)、「フイールド指定」での計算式(後段部)。‥‥いずれも計算式その物は「OK」だと考えていいのでしょうか?。
※>頭の [ $$yb; と 終わりの ] [ 選択; ダイアログなし ]をcut。していますが?。
※JSONは読み込まれている。
koko009さんのブラウザーはMozilla Firefoxでしたよね?、私のはMS-Edgeですのでこのせいもあるのでしょうか?。
Firefoxで正常にジオコード取得できているとの事でしたよね。
YOLPのアプリIDの文字列は間違いない事を確認済み。外はAPI利用規約上問題ないのか?、だけだと思うのですが‥‥。
Yahooからの返事待ち迄、確認する事はないのですよね?。
Offline
>1.>そこで、変数の内容の確認が必要ととなります。==>どの様にすればいいのでしょうか?。
#49で回答済み
>2.「,」が返ったと言う事は、「URLから挿入」の計算式(前段部)、「フイールド指定」での計算式(後段部)。‥‥いずれも計算式その物は「OK」だと考えていいのでしょうか?。
これも#49で
「フィールド設定」ステップは正常に動作をしているので、「URL から挿入」ステップの問題ですから
と
>※>頭の [ $$yb; と 終わりの ] [ 選択; ダイアログなし ]をcut。していますが?。
>※JSONは読み込まれている。
何を質問したいのかどう関連しているのか分かりかねます。・・・私の感想ですので、回答は結構です
>koko009さんのブラウザーはMozilla Firefoxでしたよね?、私のはMS-Edgeですのでこのせいもあるのでしょうか?。
>Firefoxで正常にジオコード取得できているとの事でしたよね。
使用しているwebブラウザは全く関係ありません。Firefoxを経由してジオコード取得しているわけではありません。直接相手方に質問しその答えを出力してもらっているだけです。
いろいろ疑問を持たれるのは結構ですが、既出のレス等の繰り返しが見受けられますので・・・
ご立腹のご様子、申し訳ありません。
#46で、
>戻ったダイアログの「URL 指定」の指定で「URL から挿入」オプションのダイアログが出るので右側にある指定を押し計算式指定欄を表示させ下記の式を記入してください。
>"https://map.yahooapis.jp/geocode/V1/geo … ID>&query=" &" & 名刺管理簿::住所 & 名刺管理簿::住所2
>OKを押すと計算式欄が問題がなければ閉じられます。
#47で
>※頭の [ $$yb; と 終わりの ] [ 選択; ダイアログなし ]をcut。何故cut作業で書き込むのか分かりませんが、
申し訳ありませんが、この関係が理解できていないのです。
#46では、"https://‥‥で始まっています。
しかし、#47では[$$yb;と後ろの 選択;ダイアログ‥‥をcutした事について何故?と仰っています。
#43と#51で私の方から
[$$yb:"http://‥‥略 で 「[」が反転色となり「数字、テキスト、フイールド名または「(」を入れてください」のエラーが出ます。
‥‥と回答しています。
この事について、koko009様から明確に、”Cutするな”とのご返事が出ていないと解釈しております。#46のご指導では"https://‥‥で始まっていますので。
一体どちらなのか?、分からないのです。ただ、記述すればエラーで先に進めない(OKが押せない)です。他に間違いがあれば別でしょうけれど。
Offline
[$$yb:"http://‥‥略
これは「URLから挿入」スクリプトステップをレポートで出力した結果をテキストで表示しているだけす。FMのスクリプトを直接ここにコピペできないから一度htmlでレポートを作成しその中から当てはまるスクリプトからコピペしているだけのものです。
$$yb・・・ターゲット指定を変数名
"http://‥‥・・URLの指定に書き込まれている内容
を個々に表しているにすぎない。だからURLを使うときは「"http://‥」の部分だけ使うようにすればいいのでわざわざcut作業を何故するの当方では理解できなかったのです。
それ故計算式欄に計算式として間違った記述をすれば当然エラーが出るのは当たり前です。計算式を書く基本かを身につければあなた自身でも私がおかした「"&」のダブりのミスなどすぐ気付くはずで、ここに質問を繰り返すとはないと思います。最初からスクリプトを使用することを前提に回答していただけで・・・FM使用歴が長い方なら当然理解できることと思い込んでいるので。むしろ最初にこれは何ですかと聞かれた方が当方としても説明しやすかった。
埋め込みマップを使おうとするくらいだからプログラムの知識がある方だと思っていますので・・・
ありがとうございます。FMの使用歴は長いのですが全くの独学で、市販のマニュアルなどを見ながらの使用です。時々今回のように詳しい方々に教えてもらっての今日なのです。
もっとも、使用歴と言っても、PCにinstされている期間と言った方が良いかもしれません。base的にはExcelがmainなのです。
本当にお手数をおかけし申し訳ありません。
追加ですが、
ご回答の、& 地図::住所 ] [ 選択; ダイアログなし ]の 『 ] [ 選択; ダイアログなし ] 』について理解できていません。cutと言う事でよろしいでしょうか?。
「,」が返るのは?(これまでのご説明は理解できていないのです)、作成したスクリプトは正常?。
Offline
>[ 選択; ダイアログなし ]
スクリプトに「URL から挿入」ステップを右側から選び登録したときに[ 選択; ダイアログあり; オフ] としている事を示しています。
>「,」が返るのは?(これまでのご説明は理解できていないのです)、作成したスクリプトは正常?。
下記のLet計算式
Let([lat=GetValue ( Substitute (JSONGetElement ( $$yb ; "Feature[0].Geometry.Coordinates") ; "," ; ¶ );2);lag=GetValue ( Substitute (JSONGetElement ( $$yb ; "Feature[0].Geometry.Coordinates") ; "," ; ¶ );1)];lat & "," & lag)
の最後の式の部分「lat & "," & lag」で緯度経度で表せるものが何も無いため計算結果として「,」となり計算式が正しく答えを返しているから正常と表現しています。
ちなみに「東京都千代田区永田町1丁目8-1」の住所から出力された住所情報(変数;$$yb)は次のようになります。ここから「Coordinates」情報をJSONGetElement を使い抽出しlat ,lagの値を得ているのです。
{"ResultInfo":{"Count":1,"Total":1,"Start":1,"Latency":0.04,"Status":200,"Description":"u6587u5B57u5217u89E3u6790u7D50u679C","Copyright":"","CompressType":""},"Feature":[{"Id":1,"Name":"u6771u4EACu90FDu5343u4EE3u7530u533Au6C38u7530u753A1u4E01u76EE8-1","Description":"u6771u4EACu90FDu5343u4EE3u7530u533Au6C38u7530u753A1u4E01u76EE8-1","Geometry":{"Type":"point","Coordinates":"139.74516258,35.67938978"},"Property":{"Genre":"80","Query":"u6771u4EACu90FDu5343u4EE3u7530u533Au6C38u7530u753A1u4E01u76EE8-1","Address":"u6771u4EACu90FDu5343u4EE3u7530u533Au6C38u7530u753A1u4E01u76EE8-1","AddressKana":"u3068u3046u304Du3087u3046u3068u3061u3088u3060u304Fu306Au304Cu305Fu3061u3087u30461u3061u3087u3046u3081","AddressElement":[{"Name":"u6771u4EACu90FD","Kana":"u3068u3046u304Du3087u3046u3068"},{"Name":"u5343u4EE3u7530u533A","Kana":"u3061u3088u3060u304F"},{"Name":"u6C38u7530u753A","Kana":"u306Au304Cu305Fu3061u3087u3046"},{"Name":"1u4E01u76EE","Kana":"1u3061u3087u3046u3081"}]}}]}
$$ybの値が下記のような場合は
<?xml version="1.0" encoding="UTF-8"?>
<YDF xmlns="http://olp.yahooapis.jp/ydf/1.0" firstResultPosition="1" totalResultsAvailable="1" totalResultsReturned="1">
<ResultInfo>
<Count>1</Count>
<Total>1</Total>
<Start>1</Start>
<Latency>0.04</Latency>
<Status>200</Status>
<Description>文字列解析結果</Description>
<Copyright></Copyright>
<CompressType />
</ResultInfo>
<Feature>
<Id>1</Id>
<Name>東京都千代田区永田町1丁目8-1</Name>
<Description>東京都千代田区永田町1丁目8・・・
みたいな形で返されるとJSONGetElementを使う計算式で読み込めないから「 Column 1,? * Line 1」が返されます。
今回みたいにIDに問題があった場合は
{"Error":{"Message":"Your Request was Forbidden"}}
が返され「Coordinates」情報がないためlat ,lagの値は空白となり結果「,」となります。
前にも書きましたが住居表示が違っていると同様に「Coordinates」情報がないため「,」となります。
間違えた
住居表示が違っていると
ではなく
存在しない住居表示の場合は
に訂正
エンコードは「自動的にエンコード」のオプションに頼らずに
~~~&query=" & GetAsURLEncoded ( 名刺管理簿::住所 & 名刺管理簿::住所2 )
みたいに確実にした方がいいと思います。
(住所だからあんまりないとは思うが、データに&など区切り文字が含まれてると「自動的にエンコード」するのは不可能な場合があり得る)
「自動的にエンコード」でダイアログありにしても、ダイアログに出てくるのはエンコードする前のURLなので、実際に何が送られるのかwebサーバを自前で用意するとかしないと確認できないですね。。。
もうちょっとスクリプトステップの意味と各オプションを理解しながら進めた方がいいですよ。
度々、ありがとうございます。
>最後の式の部分「lat & "," & lag」で緯度経度で表せるものが何も無いため計算結果として「,」となり計算式が正しく答えを返しているから正常と表現しています。
式としてOKとの事、安心しました。
#64
難しい事はさっぱり分かりませんが、JSONGetElementは大変な計算をしているのですね。
#66のご指摘から、
"https://map.yahooapis.jp/geocode/V1/geo … ID>&query=" & GetAsURLEncoded & 名刺管理簿::住所 & 名刺管理簿::住所2
とすればいいのですね。「”」のつかいかたがちがっているかな?。
Offline
関数の引数は、()の中に書きます。
himadanee さん
koko009 さん
ありがとうございます。
先ほどYahoo! JAPANカスタマーサービスさんから、
>ご連絡いただきました件については、Yahoo!地図の担当部署にて確認いたします。
>確認が終わり次第、弊社よりあらためてご連絡いたしますので、
>誠に恐れ入りますが今しばらくお待ちくださいますようお願い申し上げます。
との回答がありましたので、ご報告します。
Offline
himadanee さん
koko009 さん
ありがとうございます。
Yahoo! JAPANカスタマーサービスさんから、
Yahoo! JAPANカスタマーサービス ○○です。
たびたびの連絡となり誠に恐れ入ります。
お問い合わせの件について、先程ご案内した内容に一部抜けている部分がございましたので、再度下記に回答させていただきます。
お客様にはお手数をおかけし申し訳ございませんが、あらためてご確認くださいますようお願いいたします。
----------------------------------------------------------------
お知らせいただいた状況についてお調べしたところ、Yahoo!地図側で不具合は発生しておらず、
URLに不正な記述がある場合などで表示されるメッセージであることを確認いたしました。
なお、繰り返しのご案内となり恐れ入りますが、WebGLの有効方法については、
弊社より明確なご案内ができかねます。
更に詳細な確認が必要な場合は有償サービス(YOLP Premier)へ加入の上、お問い合わせいただくことをご検討いただけますと幸いです。
-----------------------------------------------------------------------
有償版の使用は考えていません。その上で、
MS-Edge最新版はChromium版であり、WebGLは有効になっていると思っているのですが、確認方法が分からないです。ご存じならご教示お願い致します。
なお、WebGLに問題無いとすれば、Yahooさんの言うようにこの度のスクリプト内容に問題(不具合)がある事になるのでしょうか?。
あるとすると、どの部分か?。修正方法・内容は?、どの様に?。
現在のスクリプト内容は次の通りです。
URLから挿入(ターゲット:$$yb)
"https://map.yahooapis.jp/geocode/V1/geoCoder?output=json&appid=
<あなたのアプリケーションID>&query=" &" GetAsURLEncoded(名刺管理簿::住所 & 名刺管理簿::住所2)"
フイールド設定
Let([lat=GetValue ( Substitute (JSONGetElement ( $$yb ; "Feature[0].Geometry.Coordinates") ; "," ; ¶ );2);
lag=GetValue ( Substitute (JSONGetElement ( $$yb ; "Feature[0].Geometry.Coordinates") ; "," ; ¶ );1)];lat & "," & lag)
お手数をおかけします、是非ご教示お願いします。
Offline
エンコードする関数のとこが””で囲まれてるので、住所でなく計算式をqueryしてますね。
「ダイアログあり」にしてURLを確認すればわかります。
himadanee さん
遅くなりました、ありがとうございます。
素人の悲しさで、スクリプト、計算式が良く理解できていないのです。
-------------------------------------
URLから挿入[選択;ダイアログあり:オン;ターゲット:$$yb;]
ターゲット指定で、変数欄に[$$yb]を記入
URL指定で、
"https://map.yahooapis.jp/geocode/V1/geo … ID>&query=" & GetAsURLEncoded(名刺管理簿::住所 & 名刺管理簿::住所2)"
&query=" &" 部を修正しました、よろしいでしょうか?。フイールド設定の式はそのまま
==>しかし、結果はやはり、[,]が返される、です。
Offline
訂正です、
ID>&query=" &" GetAsURLEncoded(名刺管理簿::住所 & 名刺管理簿::住所2)"
‥‥を、ID>&query=" & GetAsURLEncoded(名刺管理簿::住所 & 名刺管理簿::住所2) にです。
Offline
>WebGLの有効方法については
これは私のようにMicrosoft Edgeブラウザでyahoo!地図が表示できない問題の可能性の一つにすぎないのでAPIの認証問題とは全く異なっています。
>結果はやはり、[,]が返される、です。
ではなく、肝心なのは$$ybの値がどんな内容かです。
そこで、これは、大変失礼な提案ですが、IDエラーと想定して
「URL から挿入」のスクリプトステップのURLの指定で
例えばあなたのIDを仮に「abs258opz-」としてURLを・・・問題がないとされたあなたのIDに変えて記述してください
"https://map.yahooapis.jp/geocode/V1/geoCoder?output=json&appid=abs258opz-&query=" & GetAsURLEncoded(名刺管理簿::住所 & 名刺管理簿::住所2)ように記述し(ここのエンコードのチェックを外すでいいのか分かりませんが、一応外してください)で試してもらえませんでしょうか。IDエラーの原因として「<>」などの余計な文字列を含んでいるのではないかと思いましたので・・・
koko009 さん
ありがとうございます。
↑の計算式、私のIDを入れて実行した結果は次の通りでした。
https://map.yahooapis.jp/geocode/V1/geo … 7%EF%BC%95
以前の貴殿ご教示の#49の式で、
フイールド設定[名刺管理簿::座標;$$yb] では、
{"Error":{"Message":"Your Request was Forbidden"}} が返されます。
Offline
[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 671.31 KiB (Peak: 704.22 KiB) ]